public static InputsDatas LoadPrefs() { InputsDatas lTmp = null; if ((lTmp = Resources.LoadAssetAtPath <InputsDatas>(InputsDatas.InputsPath)) == null) { return(ScriptableObject.CreateInstance <InputsDatas>()); } return(lTmp); }
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; } }
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(); }