//------------------------------------------------------------------------------
// <auto-generated>
//     This code was auto-generated by com.unity.inputsystem:InputActionCodeGenerator
//     version 1.4.4
//     from Assets/Inputs.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;

public partial class @Inputs : IInputActionCollection2, IDisposable
{
    public InputActionAsset asset { get; }
    public @Inputs()
    {
        asset = InputActionAsset.FromJson(@"{
    ""name"": ""Inputs"",
    ""maps"": [
        {
            ""name"": ""Movement"",
            ""id"": ""d8d47c0a-b662-400d-a385-35807c70320f"",
            ""actions"": [
                {
                    ""name"": ""wasd"",
                    ""type"": ""Value"",
                    ""id"": ""0b6cb4ea-7ff8-4923-b6ab-33d667c9ca70"",
                    ""expectedControlType"": ""Vector2"",
                    ""processors"": """",
                    ""interactions"": """",
                    ""initialStateCheck"": true
                },
                {
                    ""name"": ""Jump"",
                    ""type"": ""Button"",
                    ""id"": ""e80a18a4-dc07-4781-a2fb-d1339a1395e2"",
                    ""expectedControlType"": ""Button"",
                    ""processors"": """",
                    ""interactions"": """",
                    ""initialStateCheck"": false
                },
                {
                    ""name"": ""Dash"",
                    ""type"": ""Button"",
                    ""id"": ""69029b38-e024-4fc6-a3d3-0ec0fe6bde48"",
                    ""expectedControlType"": ""Button"",
                    ""processors"": """",
                    ""interactions"": """",
                    ""initialStateCheck"": false
                },
                {
                    ""name"": ""Next weapon"",
                    ""type"": ""Button"",
                    ""id"": ""0f70482d-054d-45ca-be81-c54e2deb922d"",
                    ""expectedControlType"": ""Button"",
                    ""processors"": """",
                    ""interactions"": """",
                    ""initialStateCheck"": false
                },
                {
                    ""name"": ""Last weapon"",
                    ""type"": ""Button"",
                    ""id"": ""838ac902-8907-4180-87a9-f03f438c9069"",
                    ""expectedControlType"": ""Button"",
                    ""processors"": """",
                    ""interactions"": """",
                    ""initialStateCheck"": false
                },
                {
                    ""name"": ""attack"",
                    ""type"": ""Button"",
                    ""id"": ""d99967b7-1e06-448b-b920-422947e9c03e"",
                    ""expectedControlType"": ""Button"",
                    ""processors"": """",
                    ""interactions"": """",
                    ""initialStateCheck"": false
                },
                {
                    ""name"": ""Escape"",
                    ""type"": ""Button"",
                    ""id"": ""9bbda6c2-543d-457c-8361-e76b4d64877f"",
                    ""expectedControlType"": ""Button"",
                    ""processors"": """",
                    ""interactions"": """",
                    ""initialStateCheck"": false
                }
            ],
            ""bindings"": [
                {
                    ""name"": ""2D Vector"",
                    ""id"": ""6c5c6ba8-c84f-4d14-ba76-681085988d36"",
                    ""path"": ""2DVector"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": """",
                    ""action"": ""wasd"",
                    ""isComposite"": true,
                    ""isPartOfComposite"": false
                },
                {
                    ""name"": ""up"",
                    ""id"": ""a7ce409d-b8a9-40a8-82fb-36838e8027b3"",
                    ""path"": ""<Keyboard>/w"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": """",
                    ""action"": ""wasd"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": true
                },
                {
                    ""name"": ""down"",
                    ""id"": ""d99c0c7a-1ef2-4abb-adc8-bf105d8d71e9"",
                    ""path"": ""<Keyboard>/s"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": """",
                    ""action"": ""wasd"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": true
                },
                {
                    ""name"": ""left"",
                    ""id"": ""01b1a9c6-3b80-4b40-a597-e8bc579b9393"",
                    ""path"": ""<Keyboard>/a"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": """",
                    ""action"": ""wasd"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": true
                },
                {
                    ""name"": ""right"",
                    ""id"": ""29c247ff-d21c-4ca8-bf9a-0906d54cc62d"",
                    ""path"": ""<Keyboard>/d"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": """",
                    ""action"": ""wasd"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": true
                },
                {
                    ""name"": """",
                    ""id"": ""264c79a3-0145-44a7-8e56-9c9664661d8d"",
                    ""path"": ""<Keyboard>/space"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": """",
                    ""action"": ""Jump"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": false
                },
                {
                    ""name"": """",
                    ""id"": ""7aaca10d-6d18-4407-a143-93fd3f941a82"",
                    ""path"": ""<Keyboard>/shift"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": """",
                    ""action"": ""Dash"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": false
                },
                {
                    ""name"": """",
                    ""id"": ""559884ac-6f23-4120-affe-c514ba57b47b"",
                    ""path"": """",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": """",
                    ""action"": ""Next weapon"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": false
                },
                {
                    ""name"": """",
                    ""id"": ""72bd1b1e-d6fe-416f-9e88-0c34f36eda52"",
                    ""path"": """",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": """",
                    ""action"": ""Last weapon"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": false
                },
                {
                    ""name"": """",
                    ""id"": ""73cb1d56-f8d9-41bb-9639-8d72e45caac2"",
                    ""path"": """",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": """",
                    ""action"": ""attack"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": false
                },
                {
                    ""name"": """",
                    ""id"": ""5753ac26-8ca2-4cda-8164-176dcf1fb9c5"",
                    ""path"": ""<Keyboard>/escape"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": """",
                    ""action"": ""Escape"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": false
                }
            ]
        }
    ],
    ""controlSchemes"": []
}");
        // Movement
        m_Movement = asset.FindActionMap("Movement", throwIfNotFound: true);
        m_Movement_wasd = m_Movement.FindAction("wasd", throwIfNotFound: true);
        m_Movement_Jump = m_Movement.FindAction("Jump", throwIfNotFound: true);
        m_Movement_Dash = m_Movement.FindAction("Dash", throwIfNotFound: true);
        m_Movement_Nextweapon = m_Movement.FindAction("Next weapon", throwIfNotFound: true);
        m_Movement_Lastweapon = m_Movement.FindAction("Last weapon", throwIfNotFound: true);
        m_Movement_attack = m_Movement.FindAction("attack", throwIfNotFound: true);
        m_Movement_Escape = m_Movement.FindAction("Escape", throwIfNotFound: true);
    }

    public void Dispose()
    {
        UnityEngine.Object.Destroy(asset);
    }

    public InputBinding? bindingMask
    {
        get => asset.bindingMask;
        set => asset.bindingMask = value;
    }

    public ReadOnlyArray<InputDevice>? devices
    {
        get => asset.devices;
        set => asset.devices = value;
    }

    public ReadOnlyArray<InputControlScheme> controlSchemes => asset.controlSchemes;

    public bool Contains(InputAction action)
    {
        return asset.Contains(action);
    }

    public IEnumerator<InputAction> GetEnumerator()
    {
        return asset.GetEnumerator();
    }

    IEnumerator IEnumerable.GetEnumerator()
    {
        return GetEnumerator();
    }

    public void Enable()
    {
        asset.Enable();
    }

    public void Disable()
    {
        asset.Disable();
    }
    public IEnumerable<InputBinding> bindings => asset.bindings;

    public InputAction FindAction(string actionNameOrId, bool throwIfNotFound = false)
    {
        return asset.FindAction(actionNameOrId, throwIfNotFound);
    }
    public int FindBinding(InputBinding bindingMask, out InputAction action)
    {
        return asset.FindBinding(bindingMask, out action);
    }

    // Movement
    private readonly InputActionMap m_Movement;
    private IMovementActions m_MovementActionsCallbackInterface;
    private readonly InputAction m_Movement_wasd;
    private readonly InputAction m_Movement_Jump;
    private readonly InputAction m_Movement_Dash;
    private readonly InputAction m_Movement_Nextweapon;
    private readonly InputAction m_Movement_Lastweapon;
    private readonly InputAction m_Movement_attack;
    private readonly InputAction m_Movement_Escape;
    public struct MovementActions
    {
        private @Inputs m_Wrapper;
        public MovementActions(@Inputs wrapper) { m_Wrapper = wrapper; }
        public InputAction @wasd => m_Wrapper.m_Movement_wasd;
        public InputAction @Jump => m_Wrapper.m_Movement_Jump;
        public InputAction @Dash => m_Wrapper.m_Movement_Dash;
        public InputAction @Nextweapon => m_Wrapper.m_Movement_Nextweapon;
        public InputAction @Lastweapon => m_Wrapper.m_Movement_Lastweapon;
        public InputAction @attack => m_Wrapper.m_Movement_attack;
        public InputAction @Escape => m_Wrapper.m_Movement_Escape;
        public InputActionMap Get() { return m_Wrapper.m_Movement; }
        public void Enable() { Get().Enable(); }
        public void Disable() { Get().Disable(); }
        public bool enabled => Get().enabled;
        public static implicit operator InputActionMap(MovementActions set) { return set.Get(); }
        public void SetCallbacks(IMovementActions instance)
        {
            if (m_Wrapper.m_MovementActionsCallbackInterface != null)
            {
                @wasd.started -= m_Wrapper.m_MovementActionsCallbackInterface.OnWasd;
                @wasd.performed -= m_Wrapper.m_MovementActionsCallbackInterface.OnWasd;
                @wasd.canceled -= m_Wrapper.m_MovementActionsCallbackInterface.OnWasd;
                @Jump.started -= m_Wrapper.m_MovementActionsCallbackInterface.OnJump;
                @Jump.performed -= m_Wrapper.m_MovementActionsCallbackInterface.OnJump;
                @Jump.canceled -= m_Wrapper.m_MovementActionsCallbackInterface.OnJump;
                @Dash.started -= m_Wrapper.m_MovementActionsCallbackInterface.OnDash;
                @Dash.performed -= m_Wrapper.m_MovementActionsCallbackInterface.OnDash;
                @Dash.canceled -= m_Wrapper.m_MovementActionsCallbackInterface.OnDash;
                @Nextweapon.started -= m_Wrapper.m_MovementActionsCallbackInterface.OnNextweapon;
                @Nextweapon.performed -= m_Wrapper.m_MovementActionsCallbackInterface.OnNextweapon;
                @Nextweapon.canceled -= m_Wrapper.m_MovementActionsCallbackInterface.OnNextweapon;
                @Lastweapon.started -= m_Wrapper.m_MovementActionsCallbackInterface.OnLastweapon;
                @Lastweapon.performed -= m_Wrapper.m_MovementActionsCallbackInterface.OnLastweapon;
                @Lastweapon.canceled -= m_Wrapper.m_MovementActionsCallbackInterface.OnLastweapon;
                @attack.started -= m_Wrapper.m_MovementActionsCallbackInterface.OnAttack;
                @attack.performed -= m_Wrapper.m_MovementActionsCallbackInterface.OnAttack;
                @attack.canceled -= m_Wrapper.m_MovementActionsCallbackInterface.OnAttack;
                @Escape.started -= m_Wrapper.m_MovementActionsCallbackInterface.OnEscape;
                @Escape.performed -= m_Wrapper.m_MovementActionsCallbackInterface.OnEscape;
                @Escape.canceled -= m_Wrapper.m_MovementActionsCallbackInterface.OnEscape;
            }
            m_Wrapper.m_MovementActionsCallbackInterface = instance;
            if (instance != null)
            {
                @wasd.started += instance.OnWasd;
                @wasd.performed += instance.OnWasd;
                @wasd.canceled += instance.OnWasd;
                @Jump.started += instance.OnJump;
                @Jump.performed += instance.OnJump;
                @Jump.canceled += instance.OnJump;
                @Dash.started += instance.OnDash;
                @Dash.performed += instance.OnDash;
                @Dash.canceled += instance.OnDash;
                @Nextweapon.started += instance.OnNextweapon;
                @Nextweapon.performed += instance.OnNextweapon;
                @Nextweapon.canceled += instance.OnNextweapon;
                @Lastweapon.started += instance.OnLastweapon;
                @Lastweapon.performed += instance.OnLastweapon;
                @Lastweapon.canceled += instance.OnLastweapon;
                @attack.started += instance.OnAttack;
                @attack.performed += instance.OnAttack;
                @attack.canceled += instance.OnAttack;
                @Escape.started += instance.OnEscape;
                @Escape.performed += instance.OnEscape;
                @Escape.canceled += instance.OnEscape;
            }
        }
    }
    public MovementActions @Movement => new MovementActions(this);
    public interface IMovementActions
    {
        void OnWasd(InputAction.CallbackContext context);
        void OnJump(InputAction.CallbackContext context);
        void OnDash(InputAction.CallbackContext context);
        void OnNextweapon(InputAction.CallbackContext context);
        void OnLastweapon(InputAction.CallbackContext context);
        void OnAttack(InputAction.CallbackContext context);
        void OnEscape(InputAction.CallbackContext context);
    }
}
