Exemplo n.º 1
0
    public static InputsDatas LoadPrefs()
    {
        InputsDatas lTmp = null;

        if ((lTmp = Resources.LoadAssetAtPath <InputsDatas>(InputsDatas.InputsPath)) == null)
        {
            return(ScriptableObject.CreateInstance <InputsDatas>());
        }
        return(lTmp);
    }
Exemplo n.º 2
0
    private void InitializeInputsBinding()
    {
        this.m_InputsBinding = InputsDatas.LoadPrefs();

        if (this.m_InputsBinding.m_Player1BindableControls.ContainsKey("MoveUp") == false)
        {
            this.m_InputsBinding.m_Player1BindableControls["MoveUp"]   = KeyCode.Z;
            this.m_InputsBinding.m_Player1BindableControls["MoveDown"] = KeyCode.S;
            this.m_InputsBinding.m_Player1BindableControls["Shoot"]    = KeyCode.Space;

            this.m_InputsBinding.m_Player2BindableControls["MoveUp"]   = KeyCode.UpArrow;
            this.m_InputsBinding.m_Player2BindableControls["MoveDown"] = KeyCode.DownArrow;
            this.m_InputsBinding.m_Player2BindableControls["Shoot"]    = KeyCode.Keypad0;

            this.m_InputsBinding.m_UnbindableControls["Pause"] = KeyCode.Escape;
        }
    }
Exemplo n.º 3
0
    void OnGUI()
    {
        this.m_TooglePosition = 0;
        this.m_ScrollPosition = EditorGUILayout.BeginScrollView(this.m_ScrollPosition, false, true);

        /**
        ** We are calling OnGUI extension class (see CustomEditorHelper) for each bindable controls dictionary.
        ** ToogleHelper remember selected control and we can associate keyboard event to simulate a bindable key button.
        **/

        GlobalDatas.Instance.m_InputsBinding.m_Player1BindableControls.OnGUI(this.m_ToogleHelper, ref this.m_TooglePosition, "Player 1 controls");
        GlobalDatas.Instance.m_InputsBinding.m_Player2BindableControls.OnGUI(this.m_ToogleHelper, ref this.m_TooglePosition, "Player 2 controls");

        EditorGUILayout.Separator();
        EditorGUILayout.BeginHorizontal();
        {
            /**
            ** A save button which is going to save our custom bindable asset.
            ** It will be loaded at game start.
            **/
            if (GUILayout.Button("Save", GUILayout.Width(200f)))
            {
                EditorUtility.SetDirty(GlobalDatas.Instance.m_InputsBinding);
                InputsDatas lLoadTest = Resources.LoadAssetAtPath <InputsDatas>(InputsDatas.InputsPath);

                if (lLoadTest == null)
                {
                    AssetDatabase.CreateAsset(GlobalDatas.Instance.m_InputsBinding, InputsDatas.InputsPath);
                }
                else
                {
                    AssetDatabase.SaveAssets();
                }
            }
        }
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.EndScrollView();
    }