Ejemplo n.º 1
0
        public override IEnumerator TestForInput()
        {
            if (!IsTestingForInput)
            {
                IsTestingForInput = true;
                ButtonMapData originalData = buttonMapData;
                buttonMapData.buttonMapName = "";
                MapMessage = "Press the button...Ready";
                yield return(new WaitForSeconds(2f));

                float startTime = Time.time;
                yield return(new WaitWhile(() =>
                {
                    buttonMapData.buttonMapName = Input.DetectButton(controller);
                    MapMessage = "Press the button..." + Mathf.RoundToInt(InputCheckTime - (Time.time - startTime)).ToString();
                    return buttonMapData.buttonMapName == "" && Time.time - startTime < InputCheckTime;
                }));

                if (buttonMapData.buttonMapName == "")
                {
                    buttonMapData = originalData;
                }
                MapMessage        = ButtonMapData.buttonMapName;
                IsTestingForInput = false;
                UpdateButtonString();
            }
        }
Ejemplo n.º 2
0
 public ButtonMap(ButtonMapData _buttonMapData, InputController _config) : base(_config)
 {
     buttonMapData = _buttonMapData;
     if (buttonMapData.buttonMapName == null)
     {
         buttonMapData.buttonMapName = "empty";
     }
     MapMessage = ButtonMapName;
     if (GameInitializer.HasInitialized)
     {
         UpdateButtonString();
     }
 }
Ejemplo n.º 3
0
        public void ButtonMapsGUI(ButtonMap buttonMap, RuntimePlatform runtimePlatform)
        {
            RuntimePlatform             filter     = filterForPlatform ? runtimePlatform : RuntimePlatform.PS4;
            Dictionary <string, string> joyButtons = JoyPlatformMaps.GetButtonsForPlatform(filter);

            string[] joyButtonArrayNames = joyButtons.Select(x => x.Key + "  |  " + x.Value).OrderBy(x => x).ToArray();
            EditorGUI.BeginChangeCheck();
            int newBut = EditorGUILayout.Popup(joyButtons.Keys.OrderBy(x => x).ToList().IndexOf(buttonMap.ButtonMapData.buttonMapName), joyButtonArrayNames);

            if (EditorGUI.EndChangeCheck())
            {
                Undo.RegisterCompleteObjectUndo(target, ("Changed mapping of " + buttonMap.Name));
                string        val           = joyButtons.Keys.ToArray().OrderBy(x => x).ToArray()[newBut];
                ButtonMapData buttonMapData = buttonMap.ButtonMapData;
                buttonMapData.buttonMapName = val;
                typeof(ButtonMap).GetField("buttonMapData", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public).SetValue(buttonMap, buttonMapData);
                EditorUtility.SetDirty(target);
            }
        }