예제 #1
0
    void StartScanGPButton(ScanSettings scanSettings, BindingButton buttonParams, GameObject button)
    {
        InputManager.StartInputScan(scanSettings, result =>
        {
            if (result.Key == KeyCode.None)
            {
                EndScan(button);
                return(true);
            }

            int index = KeyBinder.gamepadBindingIndex;

            if (result.ScanFlags == ScanFlags.JoystickButton)
            {
                if ((int)result.Key < (int)KeyCode.JoystickButton0 || (int)result.Key > (int)KeyCode.JoystickButton19)
                {
                    return(false);
                }

                InputAction inputAction          = InputManager.GetAction(KeyBinder.controlScheme, buttonParams.action);
                inputAction.Bindings[index].Type = InputType.Button;
                InputAttribution(inputAction, index, buttonParams.isNegative, result);
            }
            else
            {
                InputAction inputAction            = InputManager.GetAction(KeyBinder.controlScheme, buttonParams.action);
                inputAction.Bindings[index].Type   = InputType.AnalogButton;
                inputAction.Bindings[index].Invert = buttonParams.isNegative ? !(result.JoystickAxisValue < 0.0f) : result.JoystickAxisValue < 0.0f;
                inputAction.Bindings[index].Axis   = result.JoystickAxis;
            }

            EndScan(button);
            return(true);
        });
    }
예제 #2
0
    /// <summary>
    /// Spawns a set of buttons for keybinding
    /// </summary>
    /// <param name="_button">the button prefab we want to spawn</param>
    private void SpawnButton(GameObject _button)
    {
        // spawn a set of buttons with  the corrosponding keybind settings
        // make sure they are spawned either left or right
        for (int i = 0; i < buttonNames.Count; i++)
        {
            Instantiate(_button, leftOrRight[i % 2]);
            BindingButton _bindName = _button.GetComponent <BindingButton>();
            _bindName.bindingToMap = buttonNames[i];
            buttonsToClear.Add(_button);
            #region Redunant Code
            //even = index % 2 == 0 ? true : false;
            //switch (even)
            //{
            //    case true:
            //    Instantiate(_button,
            //    leftOrRight[0]);
            //    break;

            //    case false:
            //    Instantiate(_button,
            //    leftOrRight[1]);
            //    break;
            //}
            //index = i;
            #endregion
        }
    }
예제 #3
0
        static string getInputStringFromInputParams(BindingButton inputParams)
        {
            int          index       = inputParams.inputType == CustomInputType.KeyboardButton ? KeyBinder.keyboardBindingIndex : KeyBinder.gamepadBindingIndex;
            InputAction  inputAction = InputManager.GetAction(KeyBinder.controlScheme, inputParams.action);
            InputBinding binding     = inputAction.Bindings[index];

            string outputText;

            switch (inputParams.inputType)
            {
            case CustomInputType.KeyboardButton:
            case CustomInputType.GamepadButton:
            case CustomInputType.DigitalAxis:
                outputText = inputParams.isNegative ? binding.Negative.ToString() : binding.Positive.ToString();
                break;

            case CustomInputType.GamepadAxis:
                outputText = binding.Axis.ToString();
                break;

            default:
                outputText = "Error";
                break;
            }

            return(outputText);
        }
예제 #4
0
    public void KeyBind(BindingButton buttonParams, GameObject button)
    {
        AudioManager.Play("Bip");
        this.eventSystemGameObject.SetActive(false);

        ScanFlags scanFlagOut = ScanFlags.Key;
        KeyCode   cancelKey   = KBcancelKey;

        switch (buttonParams.inputType)
        {
        case CustomInputType.KeyboardButton:
            scanFlagOut = ScanFlags.Key;
            cancelKey   = KeyBinder.KBcancelKey;
            break;

        case CustomInputType.GamepadButton:
            scanFlagOut = ScanFlags.JoystickButton | ScanFlags.JoystickAxis;
            cancelKey   = KeyBinder.GPcancelKey;
            break;

        case CustomInputType.GamepadAxis:
            scanFlagOut = ScanFlags.JoystickAxis;
            cancelKey   = KeyBinder.GPcancelKey;
            break;

        default:
            Debug.LogErrorFormat("{1} Not implemented yet", buttonParams.inputType);
            break;
        }

        ScanSettings scanSettings = new ScanSettings
        {
            ScanFlags     = scanFlagOut,
            CancelScanKey = cancelKey,
            Timeout       = timeout
        };

        switch (buttonParams.inputType)
        {
        case CustomInputType.KeyboardButton:
        case CustomInputType.DigitalAxis:
            StartScanKBButton(scanSettings, buttonParams, button);
            break;

        case CustomInputType.GamepadButton:
            StartScanGPButton(scanSettings, buttonParams, button);
            break;

        case CustomInputType.GamepadAxis:
            StartScanGPAxis(scanSettings, buttonParams, button);
            break;

        default:
            this.eventSystemGameObject.SetActive(true);
            Debug.LogErrorFormat("{1} Not implemented yet", buttonParams.inputType);
            break;
        }
    }
예제 #5
0
        public static string getSpriteIndex(BindingButton inputParams)
        {
            if (InputsDictionnary.dictionnary.Count == 0)
            {
                InputsDictionnary.Fill();
            }

            string inputString = InputsDictionnary.getInputStringFromInputParams(inputParams);

            return(InputsDictionnary.dictionnary[inputString]);
        }
예제 #6
0
        public ViewModel()
        {
            D_Data = new List <DepartmentData>();

            mainWindowIDInformation = new MainWindowIDInformation();
            exitButtonCommand       = new exitButtonCommand();
            loginButtonCommand      = new signinButtonCommand();
            bindingButton           = new BindingButton();

            departmentDataButtonCommand = new DepartmentDataButtonCommand(this);
            listViewSelected            = new listViewSelected();
        }
예제 #7
0
    void StartScanGPAxis(ScanSettings settings, BindingButton buttonParams, GameObject button)
    {
        int index = KeyBinder.gamepadBindingIndex;

        InputManager.StartInputScan(settings, result =>
        {
            if (result.Key == KeyCode.None)
            {
                EndScan(button);
                return(true);
            }

            InputAction inputAction          = InputManager.GetAction(KeyBinder.controlScheme, buttonParams.action);
            inputAction.Bindings[index].Axis = result.JoystickAxis;

            EndScan(button);
            return(true);
        });
    }
예제 #8
0
    void StartScanKBButton(ScanSettings scanSettings, BindingButton buttonParams, GameObject button)
    {
        InputManager.StartInputScan(scanSettings, result =>
        {
            if (result.Key == KeyCode.None)
            {
                EndScan(button);
                return(true);
            }

            int index = KeyBinder.keyboardBindingIndex;

            InputAction inputAction = InputManager.GetAction(KeyBinder.controlScheme, buttonParams.action);
            InputAttribution(inputAction, index, buttonParams.isNegative, result);

            EndScan(button);
            return(true);
        });
    }
예제 #9
0
        public ViewModel()
        {
            D_Data      = new List <DepartmentData>();
            D_Data_Main = new ObservableCollection <DepartmentData>();



            mainWindowIDInformation = new MainWindowIDInformation();
            exitButtonCommand       = new exitButtonCommand();
            loginButtonCommand      = new signinButtonCommand(this);
            bindingButton           = new BindingButton();
            //Test
            StartBtnCmd = new StartBtnCmd();


            departmentDataButtonCommand = new DepartmentDataButtonCommand(this);
            listViewSelected            = new listViewSelected();

            L_Data1      = new List <LmsData1>();
            L_Data1_Main = new ObservableCollection <LmsData1>();

            L_Data2      = new List <LmsData2>();
            L_Data2_Main = new ObservableCollection <LmsData2>();

            L_Data3      = new List <LmsData3>();
            L_Data3_Main = new ObservableCollection <LmsData3>();

            lmsData1Command = new LmsData1Command(this);
            lmsData2Command = new LmsData2Command(this);
            lmsData3Command = new LmsData3Command(this);

            E_Data  = new List <ExcelData>();
            E_Data2 = new List <ExcelData2>();
            E_Data3 = new List <ExcelData3>();

            kakaoData    = new KakaoData();
            kakaoManager = new KakaoManager();
            kakaoLogin   = new KakaoLogin();


            naverBinding     = new NaverBinding();
            naverMailManager = new NaverMailManager();
        }
예제 #10
0
    // Start is called before the first frame update
    IEnumerator Start()
    {
        yield return(new WaitForSeconds(1.5f));

        List <Binding> bindings = BindingManager.GetBindings();

        foreach (Binding binding in bindings)
        {
            BindingButton newButton = Instantiate(bindingButton, holder);
            newButton.Setup(binding.Name);
        }

        List <BindingAxis> axes = BindingManager.GetBindingAxes();

        foreach (BindingAxis axis in axes)
        {
            BindingAxisButton newButton = Instantiate(axisButton, holder);
            newButton.Setup(axis.Name);
        }
    }
예제 #11
0
        public ViewModel()
        {
            D_Data      = new List <DepartmentData>();
            D_Data_Main = new ObservableCollection <DepartmentData>();



            mainWindowIDInformation = new MainWindowIDInformation();
            exitButtonCommand       = new exitButtonCommand();
            loginButtonCommand      = new signinButtonCommand(this);
            bindingButton           = new BindingButton();



            departmentDataButtonCommand = new DepartmentDataButtonCommand(this);
            listViewSelected            = new listViewSelected();

            grade           = new Grade();
            L_Data1         = new List <LmsData1>();
            L_Data1_Main    = new ObservableCollection <LmsData1>();
            lmsData1Command = new LmsData1Command(this);
        }