예제 #1
0
 private void createMergedBackCellphone()
 {
     MergedBackCellphone      = ScriptableObject.CreateInstance <KeyCodeInput>();
     MergedBackCellphone.Keys = new KeyCode[Back.Keys.Length + Cellphone.Keys.Length];
     Back.Keys.CopyTo(MergedBackCellphone.Keys, 0);
     Cellphone.Keys.CopyTo(MergedBackCellphone.Keys, Back.Keys.Length);
 }
예제 #2
0
        /// <summary>
        /// Places the page item in the page
        /// </summary>
        /// <param name="holder"></param>
        /// <param name="owner"></param>
        public override void CreatePageItem(GameObject holder, Mod owner)
        {
            KeyCodeInput keyCodeInput = InternalAssetBundleReferences.ModsWindow.InstantiateObject("CustomKeyCodeInput").AddComponent <KeyCodeInput>();

            keyCodeInput.transform.parent = holder.transform;
            keyCodeInput.Init(DefaultValue, delegate(KeyCode keyCode)
            {
                OptionsSaver.SetSetting(owner, SaveID, (int)keyCode, true);

                if (OnChange != null)
                {
                    OnChange(keyCode);
                }
            });

            object loadedValue = OptionsSaver.LoadSetting(owner, SaveID);

            if (loadedValue != null && loadedValue is int intValue && intValue != (int)DefaultValue)
            {
                keyCodeInput.SelectedKey = (KeyCode)intValue;
            }

            keyCodeInput.GetComponent <ModdedObject>().GetObject <Text>(2).text = DisplayName;

            applyCustomRect(keyCodeInput.gameObject);

            if (OnCreate != null)
            {
                OnCreate(keyCodeInput);
            }
        }
예제 #3
0
 private void createMergedBackMap()
 {
     MergedBackMap      = ScriptableObject.CreateInstance <KeyCodeInput>();
     MergedBackMap.Keys = new KeyCode[Back.Keys.Length + Map.Keys.Length];
     Back.Keys.CopyTo(MergedBackMap.Keys, 0);
     Map.Keys.CopyTo(MergedBackMap.Keys, Back.Keys.Length);
 }
예제 #4
0
 public void Execute()
 {
     KeyCodeInput.ActionInput(keyCode, owner);
 }