1. 조이스틱 동작
1.1. 플레이어 컨트롤러 연동
1.2. 자연스러운 방향 전환 추가
2. 베이스씬 작업
2.1. 게임 씬 추가
2.2. 조이스틱 UI 추가
Todo
1. 카메라를 캐릭터한테 붙이기
2. 다른 UI 작업도 추가하기
3. 몬스터 AI 작업도 할 수 있으면 해보기
420 lines
17 KiB
C#
420 lines
17 KiB
C#
//------------------------------------------------------------------------------
|
|
// <auto-generated>
|
|
// This code was auto-generated by com.unity.inputsystem:InputActionCodeGenerator
|
|
// version 1.14.2
|
|
// from Assets/Settings/InputActions.inputactions
|
|
//
|
|
// Changes to this file may cause incorrect behavior and will be lost if
|
|
// the code is regenerated.
|
|
// </auto-generated>
|
|
//------------------------------------------------------------------------------
|
|
|
|
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine.InputSystem;
|
|
using UnityEngine.InputSystem.Utilities;
|
|
|
|
/// <summary>
|
|
/// Provides programmatic access to <see cref="InputActionAsset" />, <see cref="InputActionMap" />, <see cref="InputAction" /> and <see cref="InputControlScheme" /> instances defined in asset "Assets/Settings/InputActions.inputactions".
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// This class is source generated and any manual edits will be discarded if the associated asset is reimported or modified.
|
|
/// </remarks>
|
|
/// <example>
|
|
/// <code>
|
|
/// using namespace UnityEngine;
|
|
/// using UnityEngine.InputSystem;
|
|
///
|
|
/// // Example of using an InputActionMap named "Player" from a UnityEngine.MonoBehaviour implementing callback interface.
|
|
/// public class Example : MonoBehaviour, MyActions.IPlayerActions
|
|
/// {
|
|
/// private MyActions_Actions m_Actions; // Source code representation of asset.
|
|
/// private MyActions_Actions.PlayerActions m_Player; // Source code representation of action map.
|
|
///
|
|
/// void Awake()
|
|
/// {
|
|
/// m_Actions = new MyActions_Actions(); // Create asset object.
|
|
/// m_Player = m_Actions.Player; // Extract action map object.
|
|
/// m_Player.AddCallbacks(this); // Register callback interface IPlayerActions.
|
|
/// }
|
|
///
|
|
/// void OnDestroy()
|
|
/// {
|
|
/// m_Actions.Dispose(); // Destroy asset object.
|
|
/// }
|
|
///
|
|
/// void OnEnable()
|
|
/// {
|
|
/// m_Player.Enable(); // Enable all actions within map.
|
|
/// }
|
|
///
|
|
/// void OnDisable()
|
|
/// {
|
|
/// m_Player.Disable(); // Disable all actions within map.
|
|
/// }
|
|
///
|
|
/// #region Interface implementation of MyActions.IPlayerActions
|
|
///
|
|
/// // Invoked when "Move" action is either started, performed or canceled.
|
|
/// public void OnMove(InputAction.CallbackContext context)
|
|
/// {
|
|
/// Debug.Log($"OnMove: {context.ReadValue<Vector2>()}");
|
|
/// }
|
|
///
|
|
/// // Invoked when "Attack" action is either started, performed or canceled.
|
|
/// public void OnAttack(InputAction.CallbackContext context)
|
|
/// {
|
|
/// Debug.Log($"OnAttack: {context.ReadValue<float>()}");
|
|
/// }
|
|
///
|
|
/// #endregion
|
|
/// }
|
|
/// </code>
|
|
/// </example>
|
|
public partial class @InputActions: IInputActionCollection2, IDisposable
|
|
{
|
|
/// <summary>
|
|
/// Provides access to the underlying asset instance.
|
|
/// </summary>
|
|
public InputActionAsset asset { get; }
|
|
|
|
/// <summary>
|
|
/// Constructs a new instance.
|
|
/// </summary>
|
|
public @InputActions()
|
|
{
|
|
asset = InputActionAsset.FromJson(@"{
|
|
""version"": 1,
|
|
""name"": ""InputActions"",
|
|
""maps"": [
|
|
{
|
|
""name"": ""UI"",
|
|
""id"": ""ccb4a132-9319-42ec-abea-e2e03f0eff55"",
|
|
""actions"": [
|
|
{
|
|
""name"": ""Touch"",
|
|
""type"": ""Button"",
|
|
""id"": ""fcc90ec3-d069-4214-bf69-c07c3bed104d"",
|
|
""expectedControlType"": """",
|
|
""processors"": """",
|
|
""interactions"": """",
|
|
""initialStateCheck"": false
|
|
},
|
|
{
|
|
""name"": ""Point"",
|
|
""type"": ""Value"",
|
|
""id"": ""d0b626da-9743-41a0-8796-ca137b32c38c"",
|
|
""expectedControlType"": ""Vector2"",
|
|
""processors"": """",
|
|
""interactions"": """",
|
|
""initialStateCheck"": true
|
|
}
|
|
],
|
|
""bindings"": [
|
|
{
|
|
""name"": """",
|
|
""id"": ""992edeaf-0e8d-426e-a78b-c975b0239d87"",
|
|
""path"": ""<Touchscreen>/Press"",
|
|
""interactions"": """",
|
|
""processors"": """",
|
|
""groups"": "";MOBILE"",
|
|
""action"": ""Touch"",
|
|
""isComposite"": false,
|
|
""isPartOfComposite"": false
|
|
},
|
|
{
|
|
""name"": """",
|
|
""id"": ""bcdb9b9d-0a16-47c1-8345-532425506960"",
|
|
""path"": ""<Mouse>/leftButton"",
|
|
""interactions"": """",
|
|
""processors"": """",
|
|
""groups"": "";MOBILE"",
|
|
""action"": ""Touch"",
|
|
""isComposite"": false,
|
|
""isPartOfComposite"": false
|
|
},
|
|
{
|
|
""name"": """",
|
|
""id"": ""2e110aef-5606-44e1-9127-e56bc81fb72e"",
|
|
""path"": """",
|
|
""interactions"": """",
|
|
""processors"": """",
|
|
""groups"": """",
|
|
""action"": ""Touch"",
|
|
""isComposite"": false,
|
|
""isPartOfComposite"": false
|
|
},
|
|
{
|
|
""name"": """",
|
|
""id"": ""add9cd79-53ba-427e-968b-1a1d472f68ea"",
|
|
""path"": ""<Mouse>/position"",
|
|
""interactions"": """",
|
|
""processors"": """",
|
|
""groups"": "";MOBILE"",
|
|
""action"": ""Point"",
|
|
""isComposite"": false,
|
|
""isPartOfComposite"": false
|
|
},
|
|
{
|
|
""name"": """",
|
|
""id"": ""7597c3ae-f0e7-47bc-a8c8-0e35bd54e13a"",
|
|
""path"": ""<Touchscreen>/primaryTouch/position"",
|
|
""interactions"": """",
|
|
""processors"": """",
|
|
""groups"": "";MOBILE"",
|
|
""action"": ""Point"",
|
|
""isComposite"": false,
|
|
""isPartOfComposite"": false
|
|
}
|
|
]
|
|
}
|
|
],
|
|
""controlSchemes"": [
|
|
{
|
|
""name"": ""MOBILE"",
|
|
""bindingGroup"": ""MOBILE"",
|
|
""devices"": [
|
|
{
|
|
""devicePath"": ""<Touchscreen>"",
|
|
""isOptional"": false,
|
|
""isOR"": false
|
|
},
|
|
{
|
|
""devicePath"": ""<Mouse>"",
|
|
""isOptional"": false,
|
|
""isOR"": false
|
|
},
|
|
{
|
|
""devicePath"": ""<Keyboard>"",
|
|
""isOptional"": false,
|
|
""isOR"": false
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}");
|
|
// UI
|
|
m_UI = asset.FindActionMap("UI", throwIfNotFound: true);
|
|
m_UI_Touch = m_UI.FindAction("Touch", throwIfNotFound: true);
|
|
m_UI_Point = m_UI.FindAction("Point", throwIfNotFound: true);
|
|
}
|
|
|
|
~@InputActions()
|
|
{
|
|
UnityEngine.Debug.Assert(!m_UI.enabled, "This will cause a leak and performance issues, InputActions.UI.Disable() has not been called.");
|
|
}
|
|
|
|
/// <summary>
|
|
/// Destroys this asset and all associated <see cref="InputAction"/> instances.
|
|
/// </summary>
|
|
public void Dispose()
|
|
{
|
|
UnityEngine.Object.Destroy(asset);
|
|
}
|
|
|
|
/// <inheritdoc cref="UnityEngine.InputSystem.InputActionAsset.bindingMask" />
|
|
public InputBinding? bindingMask
|
|
{
|
|
get => asset.bindingMask;
|
|
set => asset.bindingMask = value;
|
|
}
|
|
|
|
/// <inheritdoc cref="UnityEngine.InputSystem.InputActionAsset.devices" />
|
|
public ReadOnlyArray<InputDevice>? devices
|
|
{
|
|
get => asset.devices;
|
|
set => asset.devices = value;
|
|
}
|
|
|
|
/// <inheritdoc cref="UnityEngine.InputSystem.InputActionAsset.controlSchemes" />
|
|
public ReadOnlyArray<InputControlScheme> controlSchemes => asset.controlSchemes;
|
|
|
|
/// <inheritdoc cref="UnityEngine.InputSystem.InputActionAsset.Contains(InputAction)" />
|
|
public bool Contains(InputAction action)
|
|
{
|
|
return asset.Contains(action);
|
|
}
|
|
|
|
/// <inheritdoc cref="UnityEngine.InputSystem.InputActionAsset.GetEnumerator()" />
|
|
public IEnumerator<InputAction> GetEnumerator()
|
|
{
|
|
return asset.GetEnumerator();
|
|
}
|
|
|
|
/// <inheritdoc cref="IEnumerable.GetEnumerator()" />
|
|
IEnumerator IEnumerable.GetEnumerator()
|
|
{
|
|
return GetEnumerator();
|
|
}
|
|
|
|
/// <inheritdoc cref="UnityEngine.InputSystem.InputActionAsset.Enable()" />
|
|
public void Enable()
|
|
{
|
|
asset.Enable();
|
|
}
|
|
|
|
/// <inheritdoc cref="UnityEngine.InputSystem.InputActionAsset.Disable()" />
|
|
public void Disable()
|
|
{
|
|
asset.Disable();
|
|
}
|
|
|
|
/// <inheritdoc cref="UnityEngine.InputSystem.InputActionAsset.bindings" />
|
|
public IEnumerable<InputBinding> bindings => asset.bindings;
|
|
|
|
/// <inheritdoc cref="UnityEngine.InputSystem.InputActionAsset.FindAction(string, bool)" />
|
|
public InputAction FindAction(string actionNameOrId, bool throwIfNotFound = false)
|
|
{
|
|
return asset.FindAction(actionNameOrId, throwIfNotFound);
|
|
}
|
|
|
|
/// <inheritdoc cref="UnityEngine.InputSystem.InputActionAsset.FindBinding(InputBinding, out InputAction)" />
|
|
public int FindBinding(InputBinding bindingMask, out InputAction action)
|
|
{
|
|
return asset.FindBinding(bindingMask, out action);
|
|
}
|
|
|
|
// UI
|
|
private readonly InputActionMap m_UI;
|
|
private List<IUIActions> m_UIActionsCallbackInterfaces = new List<IUIActions>();
|
|
private readonly InputAction m_UI_Touch;
|
|
private readonly InputAction m_UI_Point;
|
|
/// <summary>
|
|
/// Provides access to input actions defined in input action map "UI".
|
|
/// </summary>
|
|
public struct UIActions
|
|
{
|
|
private @InputActions m_Wrapper;
|
|
|
|
/// <summary>
|
|
/// Construct a new instance of the input action map wrapper class.
|
|
/// </summary>
|
|
public UIActions(@InputActions wrapper) { m_Wrapper = wrapper; }
|
|
/// <summary>
|
|
/// Provides access to the underlying input action "UI/Touch".
|
|
/// </summary>
|
|
public InputAction @Touch => m_Wrapper.m_UI_Touch;
|
|
/// <summary>
|
|
/// Provides access to the underlying input action "UI/Point".
|
|
/// </summary>
|
|
public InputAction @Point => m_Wrapper.m_UI_Point;
|
|
/// <summary>
|
|
/// Provides access to the underlying input action map instance.
|
|
/// </summary>
|
|
public InputActionMap Get() { return m_Wrapper.m_UI; }
|
|
/// <inheritdoc cref="UnityEngine.InputSystem.InputActionMap.Enable()" />
|
|
public void Enable() { Get().Enable(); }
|
|
/// <inheritdoc cref="UnityEngine.InputSystem.InputActionMap.Disable()" />
|
|
public void Disable() { Get().Disable(); }
|
|
/// <inheritdoc cref="UnityEngine.InputSystem.InputActionMap.enabled" />
|
|
public bool enabled => Get().enabled;
|
|
/// <summary>
|
|
/// Implicitly converts an <see ref="UIActions" /> to an <see ref="InputActionMap" /> instance.
|
|
/// </summary>
|
|
public static implicit operator InputActionMap(UIActions set) { return set.Get(); }
|
|
/// <summary>
|
|
/// Adds <see cref="InputAction.started"/>, <see cref="InputAction.performed"/> and <see cref="InputAction.canceled"/> callbacks provided via <param cref="instance" /> on all input actions contained in this map.
|
|
/// </summary>
|
|
/// <param name="instance">Callback instance.</param>
|
|
/// <remarks>
|
|
/// If <paramref name="instance" /> is <c>null</c> or <paramref name="instance"/> have already been added this method does nothing.
|
|
/// </remarks>
|
|
/// <seealso cref="UIActions" />
|
|
public void AddCallbacks(IUIActions instance)
|
|
{
|
|
if (instance == null || m_Wrapper.m_UIActionsCallbackInterfaces.Contains(instance)) return;
|
|
m_Wrapper.m_UIActionsCallbackInterfaces.Add(instance);
|
|
@Touch.started += instance.OnTouch;
|
|
@Touch.performed += instance.OnTouch;
|
|
@Touch.canceled += instance.OnTouch;
|
|
@Point.started += instance.OnPoint;
|
|
@Point.performed += instance.OnPoint;
|
|
@Point.canceled += instance.OnPoint;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Removes <see cref="InputAction.started"/>, <see cref="InputAction.performed"/> and <see cref="InputAction.canceled"/> callbacks provided via <param cref="instance" /> on all input actions contained in this map.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Calling this method when <paramref name="instance" /> have not previously been registered has no side-effects.
|
|
/// </remarks>
|
|
/// <seealso cref="UIActions" />
|
|
private void UnregisterCallbacks(IUIActions instance)
|
|
{
|
|
@Touch.started -= instance.OnTouch;
|
|
@Touch.performed -= instance.OnTouch;
|
|
@Touch.canceled -= instance.OnTouch;
|
|
@Point.started -= instance.OnPoint;
|
|
@Point.performed -= instance.OnPoint;
|
|
@Point.canceled -= instance.OnPoint;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Unregisters <param cref="instance" /> and unregisters all input action callbacks via <see cref="UIActions.UnregisterCallbacks(IUIActions)" />.
|
|
/// </summary>
|
|
/// <seealso cref="UIActions.UnregisterCallbacks(IUIActions)" />
|
|
public void RemoveCallbacks(IUIActions instance)
|
|
{
|
|
if (m_Wrapper.m_UIActionsCallbackInterfaces.Remove(instance))
|
|
UnregisterCallbacks(instance);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Replaces all existing callback instances and previously registered input action callbacks associated with them with callbacks provided via <param cref="instance" />.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// If <paramref name="instance" /> is <c>null</c>, calling this method will only unregister all existing callbacks but not register any new callbacks.
|
|
/// </remarks>
|
|
/// <seealso cref="UIActions.AddCallbacks(IUIActions)" />
|
|
/// <seealso cref="UIActions.RemoveCallbacks(IUIActions)" />
|
|
/// <seealso cref="UIActions.UnregisterCallbacks(IUIActions)" />
|
|
public void SetCallbacks(IUIActions instance)
|
|
{
|
|
foreach (var item in m_Wrapper.m_UIActionsCallbackInterfaces)
|
|
UnregisterCallbacks(item);
|
|
m_Wrapper.m_UIActionsCallbackInterfaces.Clear();
|
|
AddCallbacks(instance);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// Provides a new <see cref="UIActions" /> instance referencing this action map.
|
|
/// </summary>
|
|
public UIActions @UI => new UIActions(this);
|
|
private int m_MOBILESchemeIndex = -1;
|
|
/// <summary>
|
|
/// Provides access to the input control scheme.
|
|
/// </summary>
|
|
/// <seealso cref="UnityEngine.InputSystem.InputControlScheme" />
|
|
public InputControlScheme MOBILEScheme
|
|
{
|
|
get
|
|
{
|
|
if (m_MOBILESchemeIndex == -1) m_MOBILESchemeIndex = asset.FindControlSchemeIndex("MOBILE");
|
|
return asset.controlSchemes[m_MOBILESchemeIndex];
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// Interface to implement callback methods for all input action callbacks associated with input actions defined by "UI" which allows adding and removing callbacks.
|
|
/// </summary>
|
|
/// <seealso cref="UIActions.AddCallbacks(IUIActions)" />
|
|
/// <seealso cref="UIActions.RemoveCallbacks(IUIActions)" />
|
|
public interface IUIActions
|
|
{
|
|
/// <summary>
|
|
/// Method invoked when associated input action "Touch" is either <see cref="UnityEngine.InputSystem.InputAction.started" />, <see cref="UnityEngine.InputSystem.InputAction.performed" /> or <see cref="UnityEngine.InputSystem.InputAction.canceled" />.
|
|
/// </summary>
|
|
/// <seealso cref="UnityEngine.InputSystem.InputAction.started" />
|
|
/// <seealso cref="UnityEngine.InputSystem.InputAction.performed" />
|
|
/// <seealso cref="UnityEngine.InputSystem.InputAction.canceled" />
|
|
void OnTouch(InputAction.CallbackContext context);
|
|
/// <summary>
|
|
/// Method invoked when associated input action "Point" is either <see cref="UnityEngine.InputSystem.InputAction.started" />, <see cref="UnityEngine.InputSystem.InputAction.performed" /> or <see cref="UnityEngine.InputSystem.InputAction.canceled" />.
|
|
/// </summary>
|
|
/// <seealso cref="UnityEngine.InputSystem.InputAction.started" />
|
|
/// <seealso cref="UnityEngine.InputSystem.InputAction.performed" />
|
|
/// <seealso cref="UnityEngine.InputSystem.InputAction.canceled" />
|
|
void OnPoint(InputAction.CallbackContext context);
|
|
}
|
|
}
|