Exemplo n.º 1
0
        public void AddInput(object sender, InputPopupArgs args)
        {
            if (args != null && args.curInput != null)
            {
                args.curInput.parentScheme = this;
                m_Inputs.Add(args.curInput);

                #if UNITY_EDITOR
                AssetDatabase.AddObjectToAsset(args.curInput, this);
                AssetDatabase.SaveAssets();
                #endif
            }
        }
Exemplo n.º 2
0
        void OnGUI()
        {
            GUILayout.BeginVertical();
            wantedName = EditorGUILayout.TextField("Input Name: ", wantedName);
            wantedType = (InputType)EditorGUILayout.EnumPopup("Input Type: ", wantedType);


            GUILayout.BeginHorizontal("", GUILayout.ExpandWidth(true));
            if (GUILayout.Button("Create"))
            {
                var newInput = new EF_Base_Input();
                switch (wantedType)
                {
                case InputType.Keyboard:
                    newInput             = new EF_Keyboard_Input() as EF_Keyboard_Input;
                    newInput.inputName   = wantedName;
                    newInput.m_InputType = InputType.Keyboard;
                    break;

                case InputType.Xbox:
                    newInput             = new EF_Joystick_Input() as EF_Joystick_Input;
                    newInput.inputName   = wantedName;
                    newInput.m_InputType = InputType.Xbox;
                    newInput.m_XAxis     = "4ThAxis";
                    newInput.m_YAxis     = "5ThAxis";
                    break;

                case InputType.PS4:
                    newInput             = new EF_Joystick_Input() as EF_Joystick_Input;
                    newInput.inputName   = wantedName;
                    newInput.m_InputType = InputType.PS4;
                    newInput.m_XAxis     = "3rdAxis";
                    newInput.m_YAxis     = "6ThAxis";
                    break;

                case InputType.Vive:
                    newInput             = new EF_Joystick_Input() as EF_Joystick_Input;
                    newInput.inputName   = wantedName;
                    newInput.m_InputType = InputType.Vive;
                    break;

                default:
                    break;
                }

                if (OnComplete != null)
                {
                    InputPopupArgs args = new InputPopupArgs();
                    args.curInput = newInput;
                    OnComplete(this, args);
                }
                this.Close();
            }

            if (GUILayout.Button("Close"))
            {
                this.Close();
            }
            GUILayout.EndHorizontal();
            GUILayout.EndVertical();
        }