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

namespace Generated
{
    public partial class @Controls: IInputActionCollection2, IDisposable
    {
        public InputActionAsset asset { get; }
        public @Controls()
        {
            asset = InputActionAsset.FromJson(@"{
    ""name"": ""Controls"",
    ""maps"": [
        {
            ""name"": ""Hover"",
            ""id"": ""19a28e0b-c75d-49bb-86d2-cf02a96cd70e"",
            ""actions"": [
                {
                    ""name"": ""Rotation"",
                    ""type"": ""Value"",
                    ""id"": ""df851d02-b690-4c62-8609-72aebe301b35"",
                    ""expectedControlType"": ""Vector2"",
                    ""processors"": """",
                    ""interactions"": """",
                    ""initialStateCheck"": true
                },
                {
                    ""name"": ""Thrust"",
                    ""type"": ""Value"",
                    ""id"": ""882a3689-2a32-4663-9300-b8f81450b4a7"",
                    ""expectedControlType"": """",
                    ""processors"": """",
                    ""interactions"": """",
                    ""initialStateCheck"": true
                },
                {
                    ""name"": ""DashLeft"",
                    ""type"": ""Button"",
                    ""id"": ""180c0479-fe26-415b-a9c3-5878da8235e6"",
                    ""expectedControlType"": ""Button"",
                    ""processors"": """",
                    ""interactions"": """",
                    ""initialStateCheck"": false
                },
                {
                    ""name"": ""DashRight"",
                    ""type"": ""Button"",
                    ""id"": ""2e79ec7e-a673-4499-b2bb-acbae5870514"",
                    ""expectedControlType"": ""Button"",
                    ""processors"": """",
                    ""interactions"": """",
                    ""initialStateCheck"": false
                },
                {
                    ""name"": ""ResetButton"",
                    ""type"": ""Button"",
                    ""id"": ""fe78c53a-1619-4d4f-b0a5-41513c7af827"",
                    ""expectedControlType"": ""Button"",
                    ""processors"": """",
                    ""interactions"": """",
                    ""initialStateCheck"": false
                },
                {
                    ""name"": ""SeeControls"",
                    ""type"": ""Button"",
                    ""id"": ""ec706bb8-71ad-4a5d-90f7-05801dc5e11e"",
                    ""expectedControlType"": ""Button"",
                    ""processors"": """",
                    ""interactions"": """",
                    ""initialStateCheck"": false
                }
            ],
            ""bindings"": [
                {
                    ""name"": ""2D Vector Keyboard"",
                    ""id"": ""dfc2321f-7e78-46f5-b3c9-c6a3a25638a5"",
                    ""path"": ""2DVector(mode=1)"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": """",
                    ""action"": ""Rotation"",
                    ""isComposite"": true,
                    ""isPartOfComposite"": false
                },
                {
                    ""name"": ""up"",
                    ""id"": ""8d962fd6-39b3-4f15-828b-e5817e7b26de"",
                    ""path"": ""<Keyboard>/upArrow"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": ""Keyboard"",
                    ""action"": ""Rotation"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": true
                },
                {
                    ""name"": ""down"",
                    ""id"": ""d1e4fe93-f49a-43fa-9017-7d33e797df1f"",
                    ""path"": ""<Keyboard>/downArrow"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": ""Keyboard"",
                    ""action"": ""Rotation"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": true
                },
                {
                    ""name"": ""left"",
                    ""id"": ""5424728c-a400-488f-a4c5-f1443955147c"",
                    ""path"": ""<Keyboard>/a"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": ""Keyboard"",
                    ""action"": ""Rotation"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": true
                },
                {
                    ""name"": ""right"",
                    ""id"": ""158b3b56-4bf4-49d1-ad58-b75acba87165"",
                    ""path"": ""<Keyboard>/d"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": ""Keyboard"",
                    ""action"": ""Rotation"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": true
                },
                {
                    ""name"": ""2D Vector Gamepad"",
                    ""id"": ""751c4846-6d38-4cd9-b6b5-7f57211ae7ea"",
                    ""path"": ""2DVector(mode=2)"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": """",
                    ""action"": ""Rotation"",
                    ""isComposite"": true,
                    ""isPartOfComposite"": false
                },
                {
                    ""name"": ""up"",
                    ""id"": ""e03d8c70-589f-42fc-aefd-42245a02167a"",
                    ""path"": ""<Gamepad>/leftStick/up"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": ""Gamepad"",
                    ""action"": ""Rotation"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": true
                },
                {
                    ""name"": ""down"",
                    ""id"": ""19202e3f-3858-4a27-a747-9e4e00ea0104"",
                    ""path"": ""<Gamepad>/leftStick/down"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": ""Gamepad"",
                    ""action"": ""Rotation"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": true
                },
                {
                    ""name"": ""left"",
                    ""id"": ""1264dc3f-356d-446d-b02e-404480326202"",
                    ""path"": ""<Gamepad>/leftStick/left"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": ""Gamepad"",
                    ""action"": ""Rotation"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": true
                },
                {
                    ""name"": ""right"",
                    ""id"": ""8a9a1ff3-622e-48b8-95d7-0b0e366858fe"",
                    ""path"": ""<Gamepad>/leftStick/right"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": ""Gamepad"",
                    ""action"": ""Rotation"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": true
                },
                {
                    ""name"": """",
                    ""id"": ""bb027f05-35dc-4c24-aaf8-7535660f24d1"",
                    ""path"": ""<Gamepad>/leftShoulder"",
                    ""interactions"": ""Press"",
                    ""processors"": """",
                    ""groups"": ""Gamepad"",
                    ""action"": ""DashLeft"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": false
                },
                {
                    ""name"": """",
                    ""id"": ""92598a55-b5da-491a-bf15-fa3e4c5a8afa"",
                    ""path"": ""<Keyboard>/leftArrow"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": ""Keyboard"",
                    ""action"": ""DashLeft"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": false
                },
                {
                    ""name"": """",
                    ""id"": ""485dacb6-9ad4-4157-b400-e25fe1aeb543"",
                    ""path"": ""<Gamepad>/rightShoulder"",
                    ""interactions"": ""Press"",
                    ""processors"": """",
                    ""groups"": ""Gamepad"",
                    ""action"": ""DashRight"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": false
                },
                {
                    ""name"": """",
                    ""id"": ""033adfcd-1296-430e-b837-0e337f386783"",
                    ""path"": ""<Keyboard>/rightArrow"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": ""Keyboard"",
                    ""action"": ""DashRight"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": false
                },
                {
                    ""name"": ""1D Axis Keyboard"",
                    ""id"": ""3cfa648b-ff9c-46b9-b49d-d17914771a0d"",
                    ""path"": ""1DAxis(whichSideWins=1)"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": """",
                    ""action"": ""Thrust"",
                    ""isComposite"": true,
                    ""isPartOfComposite"": false
                },
                {
                    ""name"": ""negative"",
                    ""id"": ""b570930b-4072-4225-a9ff-923a0862095f"",
                    ""path"": ""<Keyboard>/s"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": ""Keyboard"",
                    ""action"": ""Thrust"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": true
                },
                {
                    ""name"": ""positive"",
                    ""id"": ""70cf48b1-db06-419d-b954-283086b3bf40"",
                    ""path"": ""<Keyboard>/w"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": ""Keyboard"",
                    ""action"": ""Thrust"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": true
                },
                {
                    ""name"": ""1D Axis Gamepad"",
                    ""id"": ""c6327227-a9a6-401e-84d7-8fdcacaee028"",
                    ""path"": ""1DAxis(whichSideWins=1)"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": """",
                    ""action"": ""Thrust"",
                    ""isComposite"": true,
                    ""isPartOfComposite"": false
                },
                {
                    ""name"": ""negative"",
                    ""id"": ""46a7354f-0081-4c12-a0f2-cb419afd9989"",
                    ""path"": ""<Gamepad>/leftTrigger"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": ""Gamepad"",
                    ""action"": ""Thrust"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": true
                },
                {
                    ""name"": ""positive"",
                    ""id"": ""904e127a-b90e-4be1-83fe-3e72eb16c026"",
                    ""path"": ""<Gamepad>/rightTrigger"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": ""Gamepad"",
                    ""action"": ""Thrust"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": true
                },
                {
                    ""name"": """",
                    ""id"": ""d02bc4bb-1cef-4bd5-b316-4f0734507f7f"",
                    ""path"": ""<Gamepad>/buttonWest"",
                    ""interactions"": ""Hold"",
                    ""processors"": """",
                    ""groups"": ""Gamepad"",
                    ""action"": ""ResetButton"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": false
                },
                {
                    ""name"": """",
                    ""id"": ""b2d6f469-464a-4c03-bdc4-5cab7559476a"",
                    ""path"": ""<Keyboard>/r"",
                    ""interactions"": ""Hold"",
                    ""processors"": """",
                    ""groups"": ""Keyboard"",
                    ""action"": ""ResetButton"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": false
                },
                {
                    ""name"": """",
                    ""id"": ""0509615a-f204-4622-9f0b-a14c0e3a7c43"",
                    ""path"": ""<Keyboard>/space"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": ""Keyboard"",
                    ""action"": ""SeeControls"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": false
                },
                {
                    ""name"": """",
                    ""id"": ""ee51f091-8736-4016-b504-85359d2ad66f"",
                    ""path"": ""<Gamepad>/start"",
                    ""interactions"": """",
                    ""processors"": """",
                    ""groups"": ""Gamepad"",
                    ""action"": ""SeeControls"",
                    ""isComposite"": false,
                    ""isPartOfComposite"": false
                }
            ]
        }
    ],
    ""controlSchemes"": [
        {
            ""name"": ""Gamepad"",
            ""bindingGroup"": ""Gamepad"",
            ""devices"": [
                {
                    ""devicePath"": ""<Gamepad>"",
                    ""isOptional"": true,
                    ""isOR"": false
                }
            ]
        },
        {
            ""name"": ""Keyboard"",
            ""bindingGroup"": ""Keyboard"",
            ""devices"": [
                {
                    ""devicePath"": ""<Keyboard>"",
                    ""isOptional"": true,
                    ""isOR"": false
                }
            ]
        }
    ]
}");
            // Hover
            m_Hover = asset.FindActionMap("Hover", throwIfNotFound: true);
            m_Hover_Rotation = m_Hover.FindAction("Rotation", throwIfNotFound: true);
            m_Hover_Thrust = m_Hover.FindAction("Thrust", throwIfNotFound: true);
            m_Hover_DashLeft = m_Hover.FindAction("DashLeft", throwIfNotFound: true);
            m_Hover_DashRight = m_Hover.FindAction("DashRight", throwIfNotFound: true);
            m_Hover_ResetButton = m_Hover.FindAction("ResetButton", throwIfNotFound: true);
            m_Hover_SeeControls = m_Hover.FindAction("SeeControls", 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);
        }

        // Hover
        private readonly InputActionMap m_Hover;
        private List<IHoverActions> m_HoverActionsCallbackInterfaces = new List<IHoverActions>();
        private readonly InputAction m_Hover_Rotation;
        private readonly InputAction m_Hover_Thrust;
        private readonly InputAction m_Hover_DashLeft;
        private readonly InputAction m_Hover_DashRight;
        private readonly InputAction m_Hover_ResetButton;
        private readonly InputAction m_Hover_SeeControls;
        public struct HoverActions
        {
            private @Controls m_Wrapper;
            public HoverActions(@Controls wrapper) { m_Wrapper = wrapper; }
            public InputAction @Rotation => m_Wrapper.m_Hover_Rotation;
            public InputAction @Thrust => m_Wrapper.m_Hover_Thrust;
            public InputAction @DashLeft => m_Wrapper.m_Hover_DashLeft;
            public InputAction @DashRight => m_Wrapper.m_Hover_DashRight;
            public InputAction @ResetButton => m_Wrapper.m_Hover_ResetButton;
            public InputAction @SeeControls => m_Wrapper.m_Hover_SeeControls;
            public InputActionMap Get() { return m_Wrapper.m_Hover; }
            public void Enable() { Get().Enable(); }
            public void Disable() { Get().Disable(); }
            public bool enabled => Get().enabled;
            public static implicit operator InputActionMap(HoverActions set) { return set.Get(); }
            public void AddCallbacks(IHoverActions instance)
            {
                if (instance == null || m_Wrapper.m_HoverActionsCallbackInterfaces.Contains(instance)) return;
                m_Wrapper.m_HoverActionsCallbackInterfaces.Add(instance);
                @Rotation.started += instance.OnRotation;
                @Rotation.performed += instance.OnRotation;
                @Rotation.canceled += instance.OnRotation;
                @Thrust.started += instance.OnThrust;
                @Thrust.performed += instance.OnThrust;
                @Thrust.canceled += instance.OnThrust;
                @DashLeft.started += instance.OnDashLeft;
                @DashLeft.performed += instance.OnDashLeft;
                @DashLeft.canceled += instance.OnDashLeft;
                @DashRight.started += instance.OnDashRight;
                @DashRight.performed += instance.OnDashRight;
                @DashRight.canceled += instance.OnDashRight;
                @ResetButton.started += instance.OnResetButton;
                @ResetButton.performed += instance.OnResetButton;
                @ResetButton.canceled += instance.OnResetButton;
                @SeeControls.started += instance.OnSeeControls;
                @SeeControls.performed += instance.OnSeeControls;
                @SeeControls.canceled += instance.OnSeeControls;
            }

            private void UnregisterCallbacks(IHoverActions instance)
            {
                @Rotation.started -= instance.OnRotation;
                @Rotation.performed -= instance.OnRotation;
                @Rotation.canceled -= instance.OnRotation;
                @Thrust.started -= instance.OnThrust;
                @Thrust.performed -= instance.OnThrust;
                @Thrust.canceled -= instance.OnThrust;
                @DashLeft.started -= instance.OnDashLeft;
                @DashLeft.performed -= instance.OnDashLeft;
                @DashLeft.canceled -= instance.OnDashLeft;
                @DashRight.started -= instance.OnDashRight;
                @DashRight.performed -= instance.OnDashRight;
                @DashRight.canceled -= instance.OnDashRight;
                @ResetButton.started -= instance.OnResetButton;
                @ResetButton.performed -= instance.OnResetButton;
                @ResetButton.canceled -= instance.OnResetButton;
                @SeeControls.started -= instance.OnSeeControls;
                @SeeControls.performed -= instance.OnSeeControls;
                @SeeControls.canceled -= instance.OnSeeControls;
            }

            public void RemoveCallbacks(IHoverActions instance)
            {
                if (m_Wrapper.m_HoverActionsCallbackInterfaces.Remove(instance))
                    UnregisterCallbacks(instance);
            }

            public void SetCallbacks(IHoverActions instance)
            {
                foreach (var item in m_Wrapper.m_HoverActionsCallbackInterfaces)
                    UnregisterCallbacks(item);
                m_Wrapper.m_HoverActionsCallbackInterfaces.Clear();
                AddCallbacks(instance);
            }
        }
        public HoverActions @Hover => new HoverActions(this);
        private int m_GamepadSchemeIndex = -1;
        public InputControlScheme GamepadScheme
        {
            get
            {
                if (m_GamepadSchemeIndex == -1) m_GamepadSchemeIndex = asset.FindControlSchemeIndex("Gamepad");
                return asset.controlSchemes[m_GamepadSchemeIndex];
            }
        }
        private int m_KeyboardSchemeIndex = -1;
        public InputControlScheme KeyboardScheme
        {
            get
            {
                if (m_KeyboardSchemeIndex == -1) m_KeyboardSchemeIndex = asset.FindControlSchemeIndex("Keyboard");
                return asset.controlSchemes[m_KeyboardSchemeIndex];
            }
        }
        public interface IHoverActions
        {
            void OnRotation(InputAction.CallbackContext context);
            void OnThrust(InputAction.CallbackContext context);
            void OnDashLeft(InputAction.CallbackContext context);
            void OnDashRight(InputAction.CallbackContext context);
            void OnResetButton(InputAction.CallbackContext context);
            void OnSeeControls(InputAction.CallbackContext context);
        }
    }
}
