private void Update()
    {
        if (keysSet == false)
        {
            if (KeyBindingsManager.i != null)
            {
                KeyBindingsManager bindings = KeyBindingsManager.i;

                forward  = bindings.Forward;
                backward = bindings.Backward;
                left     = bindings.Left;
                right    = bindings.Right;
                jump     = bindings.Jump;
                crouch   = bindings.Crouch;

                keysSet = true;
            }
        }

        float moveX = 0f;
        float moveY = 0f;
        float moveZ = 0f;

        if (Input.GetKey(forward))
        {
            moveZ = +1f;
        }
        if (Input.GetKey(backward))
        {
            moveZ = -1f;
        }
        if (Input.GetKey(left))
        {
            moveX = -1f;
        }
        if (Input.GetKey(right))
        {
            moveX = +1f;
        }
        if (Input.GetKey(jump))
        {
            moveY = +1f;
        }
        if (Input.GetKeyDown(crouch))
        {
            isCrouching = true;
            animationSystem.SetCrouching(isCrouching);
        }
        else if (Input.GetKeyUp(crouch))
        {
            isCrouching = false;
            animationSystem.SetCrouching(isCrouching);
        }

        Vector3 moveDirection = new Vector3(moveX, moveY, moveZ).normalized;

        GetComponent <IMoveVelocity>().SetVelocity(moveDirection);
    }
Exemple #2
0
        private async Task ButtonClickAsync(object sender, RoutedEventArgs e)
        {
            awaitingKeyPress = true;
            while (awaitingKeyPress)
            {
                await Task.Delay(1000);
            }
            Button             btnSender          = sender as Button;
            KeybindingProperty keybindingToChange = btnSender?.DataContext as KeybindingProperty;

            keybindingToChange.Key = keyStored;
            switch (keybindingToChange.BindingName)
            {
            case "Player 1 Up":
                KeyBindingsManager.Instance.Player1_up = keyStored;
                break;

            case "Player 1 Down":
                KeyBindingsManager.Instance.Player1_down = keyStored;
                break;

            case "Player 1 Left":
                KeyBindingsManager.Instance.Player1_left = keyStored;
                break;

            case "Player 1 Right":
                KeyBindingsManager.Instance.Player1_right = keyStored;
                break;

            case "Player 2 Up":
                KeyBindingsManager.Instance.Player2_up = keyStored;
                break;

            case "Player 2 Down":
                KeyBindingsManager.Instance.Player2_down = keyStored;
                break;

            case "Player 2 Left":
                KeyBindingsManager.Instance.Player2_left = keyStored;
                break;

            case "Player 2 Right":
                KeyBindingsManager.Instance.Player2_right = keyStored;
                break;

            case "Debug overlay key":
                KeyBindingsManager.Instance.DebugOverlayKey = keyStored;
                break;

            default:
                return;
            }
            KeyBindingsManager.SaveKeybindings(KeyBindingsManager.Instance);
            btnSender.Content = keyStored;
        }
Exemple #3
0
 /// <summary>
 /// adds a keyboard
 /// </summary>
 /// <param name="menuItem"></param>
 /// <param name="addin"></param>
 private static void AddKeyboardShortcut(AddInMenuItem menuItem, MarkdownMonsterAddin addin)
 {
     if (!string.IsNullOrEmpty(menuItem.KeyboardShortcut))
     {
         KeyBinding kb = KeyBindingsManager.CreateKeyboardShortcutBinding(
             menuItem.KeyboardShortcut,
             menuItem.Command);
         if (kb != null)
         {
             addin.Model.Window.InputBindings.Add(kb);
         }
     }
 }
        protected void AddKeymapping(string label, SavedInputKey savedInputKey, string legacySaveFileName)
        {
            savedInputKey.value = savedInputKey.value;
            UIPanel uIPanel = component.AttachUIComponent(UITemplateManager.GetAsGameObject(kKeyBindingTemplate)) as UIPanel;

            uIPanel.name = legacySaveFileName;
            if (count++ % 2 == 1)
            {
                uIPanel.backgroundSprite = null;
            }

            UILabel  uILabel  = uIPanel.Find <UILabel>("Name");
            UIButton uIButton = uIPanel.Find <UIButton>("Binding");

            uIButton.eventKeyDown   += new KeyPressHandler(this.OnBindingKeyDown);
            uIButton.eventMouseDown += new MouseEventHandler(this.OnBindingMouseDown);

            if (File.Exists(KeyBindingsManager.BindingsConfigPath))
            {
                var    lines = new List <string>(File.ReadAllLines(KeyBindingsManager.BindingsConfigPath));
                string line  = "########";
                foreach (string l in lines)
                {
                    if (l.Contains(legacySaveFileName))
                    {
                        line = l; break;
                    }
                }
                if (line != "########")
                {
                    lines.Remove(line);
                    KeyBindingsManager.RewriteCfgLines(lines);
                }
            }

            uILabel.text            = label;
            uIButton.text           = savedInputKey.ToLocalizedString("KEYNAME");
            uIButton.objectUserData = savedInputKey;
        }
 public void SetUp()
 {
     i = this;
 }
        public void OnSettingsUI(UIHelperBase helper)
        {
            if (LocalizationManager.instance == null)
            {
                LocalizationManager.CreateManager();
            }
            SetUnits();

            ExtUITabstrip tabStrip = ExtUITabstrip.Create((UIHelper)helper);

            UIHelper     gentab         = tabStrip.AddTabPage("  " + LocalizationManager.instance.current["settings_GENERAL"] + "  ", out genTabButton);
            UIHelperBase group          = gentab.AddGroup(LocalizationManager.instance.current["settings_GENERAL"]);
            UIHelper     keybindingsTab = tabStrip.AddTabPage(" " + LocalizationManager.instance.current["settings_KB"] + " ", out kbTabButton);
            UIHelperBase kbGroup        = keybindingsTab.AddGroup(LocalizationManager.instance.current["settings_KB"]);

            // UIHelperBase group = helper.AddGroup("    Procedural Objects");

            // KEY BINDINGS TAB

            ((UIPanel)((UIHelper)kbGroup).self).gameObject.AddComponent <OptionsKeymappingGeneral>();
            kbGroup.AddSpace(8);
            var KBPosGroup = kbGroup.AddGroup(LocalizationManager.instance.current["position"]);

            ((UIPanel)((UIHelper)KBPosGroup).self).gameObject.AddComponent <OptionsKeymappingPosition>();
            KBPosGroup.AddSpace(8);
            var KBRotGroup = kbGroup.AddGroup(LocalizationManager.instance.current["rotation"]);

            ((UIPanel)((UIHelper)KBRotGroup).self).gameObject.AddComponent <OptionsKeymappingRotation>();
            KBRotGroup.AddSpace(8);
            var KBScaleGroup = kbGroup.AddGroup(LocalizationManager.instance.current["scale_obj"]);

            ((UIPanel)((UIHelper)KBScaleGroup).self).gameObject.AddComponent <OptionsKeymappingScale>();
            KBScaleGroup.AddSpace(8);
            var KBSMActionsGroup = kbGroup.AddGroup(LocalizationManager.instance.current["CTActions"] + " (" + LocalizationManager.instance.current["selection_mode"] + ")");

            ((UIPanel)((UIHelper)KBSMActionsGroup).self).gameObject.AddComponent <OptionsKeymappingSelectionModeActions>();
            KBSMActionsGroup.AddSpace(8);
            openKeybindingsButton = (UIButton)kbGroup.AddButton(LocalizationManager.instance.current["open_kbd_cfg"], openKeybindings);

            KeyBindingsManager.Initialize();

            // GENERAL TAB
            UIPanel globalPanel = ((UIPanel)((UIHelper)group).self);

            gizmoSizeSlider         = (UISlider)group.AddSlider(string.Format(LocalizationManager.instance.current["settings_GIZMO_label"], (GizmoSize.value * 100).ToString()), 0.2f, 3f, 0.1f, GizmoSize.value, gizmoSizeChanged);
            gizmoSizeSlider.width   = 600;
            gizmoSizeSlider.height  = 16;
            gizmoSizeSlider.tooltip = LocalizationManager.instance.current["settings_GIZMO_tooltip"];

            var gizmoSizePanel = globalPanel.Find <UIPanel>("OptionsSliderTemplate(Clone)");

            gizmoSizePanel.name   = "GizmoSizePanel";
            gizmoSizeLabel        = gizmoSizePanel.Find <UILabel>("Label");
            gizmoSizeLabel.width *= 3.5f;

            gizmoOpacitySlider        = (UISlider)group.AddSlider(string.Format(LocalizationManager.instance.current["settings_GIZMO_OPACITY_label"], (GizmoOpacity.value * 100).ToString()), .1f, 1f, 0.05f, GizmoOpacity.value, gizmoOpacityChanged);
            gizmoOpacitySlider.width  = 600;
            gizmoOpacitySlider.height = 16;

            var gizmoOpacityPanel = globalPanel.components.First(c => c.GetType() == typeof(UIPanel) && c != gizmoSizePanel);

            gizmoOpacityPanel.name   = "GizmoOpacityPanel";
            gizmoOpacityLabel        = gizmoOpacityPanel.Find <UILabel>("Label");
            gizmoOpacityLabel.width *= 3.5f;


            group.AddDropdown(LocalizationManager.instance.current["settings_DISTUNITS_label"],
                              new string[] { LocalizationManager.instance.current["settings_DISTUNITS_m"] + " (m)",
                                             LocalizationManager.instance.current["settings_DISTUNITS_ft"] + " (ft)",
                                             LocalizationManager.instance.current["settings_DISTUNITS_yd"] + " (yd)" }, DistanceUnits.value,
                              (int value) => {
                DistanceUnits.value = value;
                SetUnits();
                // propRenderDistanceChanged(PropRenderDistance.value);
                // buildingRenderDistanceChanged(BuildingRenderDistance.value);
            });

            group.AddDropdown(LocalizationManager.instance.current["settings_ANGUNITS_label"],
                              new string[] { LocalizationManager.instance.current["settings_ANGUNITS_deg"] + " (°)",
                                             LocalizationManager.instance.current["settings_ANGUNITS_rad"] + " (rad)" }, AngleUnits.value, (int value) => { AngleUnits.value = value; SetUnits(); });

            useUINightModeCheckbox = (UICheckBox)group.AddCheckbox(LocalizationManager.instance.current["settings_USEUINIGHTMODE_toggle"], UseUINightMode.value, (bool value) => { UseUINightMode.value = value; });

            hideDisLayerIconCheckbox = (UICheckBox)group.AddCheckbox(LocalizationManager.instance.current["settings_HIDEDISABLEDLAYERSICON_toggle"], HideDisabledLayersIcon.value, hideDisabledLayersIconChanged);

            // usePasteIntoCheckbox = (UICheckBox)group.AddCheckbox(LocalizationManager.instance.current["settings_USEPASTEINTO_toggle"], UsePasteInto.value, usePasteIntoChanged);

            autoResizeDecalsCheckbox = (UICheckBox)group.AddCheckbox(LocalizationManager.instance.current["settings_AUTORESIZEDECALS_toggle"], AutoResizeDecals.value, autoResizeDecalsChanged);

            includeSubBuildingsCheckbox = (UICheckBox)group.AddCheckbox(LocalizationManager.instance.current["settings_CONVERTSUBBUILDINGS_toggle"], IncludeSubBuildings.value, includeSubBuildingsChanged);

            useColorVariationCheckbox = (UICheckBox)group.AddCheckbox(LocalizationManager.instance.current["settings_USECOLORVAR_toggle"], UseColorVariation.value, useColorVariationChanged);

            group.AddSpace(10);
            var sliderGroup = gentab.AddGroup("  " + LocalizationManager.instance.current["settings_CONFDEL_title"]);

            confirmDelCheckbox = (UICheckBox)sliderGroup.AddCheckbox(LocalizationManager.instance.current["settings_CONFDEL_toggle"], ShowConfirmDeletion.value, confirmDeletionCheckboxChanged);

            confirmDelThresholdSlider         = (UISlider)sliderGroup.AddSlider(string.Format(LocalizationManager.instance.current["settings_CONFDEL_SLIDER_label"], ConfirmDeletionThreshold.value.ToString()), 1f, 15f, 1f, ConfirmDeletionThreshold.value, confirmDeletionThresholdChanged);
            confirmDelThresholdSlider.width   = 715;
            confirmDelThresholdSlider.height  = 16;
            confirmDelThresholdSlider.tooltip = LocalizationManager.instance.current["settings_CONFDEL_SLIDER_tooltip"];

            confirmDelThresholdLabel = (UILabel)((UIPanel)((UIHelper)sliderGroup).self).components.First(c => c.GetType() == typeof(UIPanel) && c.components.Any(comp => comp.GetType() == typeof(UISlider)))
                                       .components.First(c => c.GetType() == typeof(UILabel));
            confirmDelThresholdLabel.width *= 3.5f;
            if (!ShowConfirmDeletion.value)
            {
                confirmDelThresholdSlider.isEnabled = false;
            }


            sliderGroup.AddSpace(10);
            var languageGroup = gentab.AddGroup("  " + LocalizationManager.instance.current["settings_LANG_title"]);

            languageGroup.AddDropdown(LocalizationManager.instance.current["settings_LANG_title"], LocalizationManager.instance.identifiers, LocalizationManager.instance.available.IndexOf(LocalizationManager.instance.current), languageChanged);

            languageGroup.AddSpace(10);

            showDevCheckbox = (UICheckBox)languageGroup.AddCheckbox(LocalizationManager.instance.current["settings_DEVTOOLS_toggle"], ShowDeveloperTools.value, (value) =>
            {
                ShowDeveloperTools.value = value;
            });
            showDevCheckbox.tooltip = LocalizationManager.instance.current["settings_DEVTOOLS_tooltip"];
        }