Exemple #1
0
 public GuiConnector(ExtendedInput exInput, UserListControl userList, HTMLChatHistory htmlChatHistory, KnuddelsClient client)
 {
     _exInput         = exInput;
     _exInput.Enabled = false;
     _userList        = userList;
     _htmlChatHistory = htmlChatHistory;
     _client          = client;
 }
 private void Update()
 {
     if (ExtendedInput.GetKeyDown(new KeyCodeExtended(KeyCode.H)))
     {
         if (running)
             StopAllCoroutines();
         else
             StartCoroutine(SuborbitalUntargeted());
     }
 }
Exemple #3
0
            void onRightClick()
            {
                Log.Info("ToolbarIconEvents.OnRightClick");
                if (!ExtendedInput.GetKey(GameSettings.MODIFIER_KEY.primary))
                {
                    Log.Info("Calling savedHandler");
                    savedHandler();
                }
                else
                {
                    Log.Info("Mod key pressed, not calling savedHandler");

                    OnToolbarIconClicked.Fire(appButton);
                }
            }
Exemple #4
0
        private void IconClicked(EditorPartIcon icon, EditorIconEvents.EditorIconClickEvent evt)
        {
            Log.Info("IconClicked");
            if (!ExtendedInput.GetKey(GameSettings.MODIFIER_KEY.primary) && !ExtendedInput.GetKey(GameSettings.MODIFIER_KEY.secondary))
            {
                return;
            }

            Log.Info("Icon was clicked for " + icon.partInfo.name + " (" + icon.partInfo.title + "), icon.name: " + icon.name);

            _icon = icon;
            ShowPruneMenu();

            evt.Veto(); // prevent part from being spawned
        }
Exemple #5
0
        private void IconHover(EditorPartIcon icon, bool hover)
        {
            Log.Info("IconHover,  ExtendedInput.GetKey(GameSettings.MODIFIER_KEY.primary): " + ExtendedInput.GetKey(GameSettings.MODIFIER_KEY.primary).ToString());
            if (HighLogic.CurrentGame.Parameters.CustomParams <JanitorsClosetSettings>().showMod ||
                ExtendedInput.GetKey(GameSettings.MODIFIER_KEY.primary) || ExtendedInput.GetKey(GameSettings.MODIFIER_KEY.secondary))
            {
                string mod = ModFilterWindow.FindPartMod(icon.partInfo);

                drawTooltip = true;
                if (hover)
                {
                    tooltip = mod;
                }
                else
                {
                    tooltip = "";
                }
            }
            else
            {
                tooltip = "";
            }
        }
Exemple #6
0
        public override void OnUpdate()
        {
            base.OnUpdate();

            // Only run if the EVA'd Kerbal is the active vessel
            if (this.vessel == FlightGlobals.ActiveVessel)
            {
                // Toggle precision node
                if (GameSettings.PRECISION_CTRL.GetKeyDown())
                {
                    precisionControls = !precisionControls;
                    if (precisionControls)
                    {
                        ScreenMessages.PostScreenMessage("Precision Controls: Enabled", 2f, ScreenMessageStyle.UPPER_CENTER);
                    }
                    else
                    {
                        ScreenMessages.PostScreenMessage("Precision Controls: Disabled", 2f, ScreenMessageStyle.UPPER_CENTER);
                    }
                }

                // Toggle Rotate on Move
                if (GameSettings.SAS_TOGGLE.GetKeyDown())
                {
                    rotateOnMove = !rotateOnMove;
                }

                // Set pointer to KerbalEVA
                if (eva == null || this.vessel != FlightGlobals.ActiveVessel)
                {
                    eva = FlightGlobals.ActiveVessel.GetComponent <KerbalEVA>();
                }

                // Only process is this is current vessel and the eva pointer was set previously
                if (this.vessel == FlightGlobals.ActiveVessel && eva != null)
                {
                    if (eva.JetpackDeployed)
                    {
                        if (origLinPower == 0f)
                        {
                            // Grab original values
                            origLinPower        = eva.linPower;
                            origRotPower        = eva.rotPower;
                            origPropConsumption = eva.PropellantConsumption;
                        }

                        // Make sure this is set properly
                        // GameSettings.EVA_ROTATE_ON_MOVE = rotateOnMove;

                        // Determine current jetpack power
                        if (precisionControls)
                        {
                            // precisionModePower = settings.defaultPrecisionModePower;
                            currentPower = precisionModePower;
                        }
                        else
                        {
                            //jetPackPower = settings.defaultJetPackPower;
                            currentPower = jetPackPower;
                        }

                        // Set the jetpack power and fuel consumption
                        eva.linPower = origLinPower * currentPower;
                        eva.rotPower = origRotPower * currentPower;
                        eva.PropellantConsumption = origPropConsumption * currentPower;

                        // Detect key presses
                        Log.Info("Input.GetKey(settings.pitchDown): " + ExtendedInput.GetKey(settings.pitchDown).ToString() + "  mod: " + ExtendedInput.GetKey(GameSettings.MODIFIER_KEY.primary).ToString());

                        if (ExtendedInput.GetKey(settings.pitchDown) &&
                            ((settings.modKeypitchDown == false && !ExtendedInput.GetKey(GameSettings.MODIFIER_KEY.primary)) ||
                             (settings.modKeypitchDown == true && ExtendedInput.GetKey(GameSettings.MODIFIER_KEY.primary))))
                        {
                            EVAController.Instance.UpdateEVAFlightProperties(-1, 0, jetPackPower);
                        }

                        if (ExtendedInput.GetKey(settings.pitchUp) &&
                            ((settings.modKeypitchUp == false && !ExtendedInput.GetKey(GameSettings.MODIFIER_KEY.primary)) ||
                             (settings.modKeypitchDown == true && ExtendedInput.GetKey(GameSettings.MODIFIER_KEY.primary))))
                        {
                            EVAController.Instance.UpdateEVAFlightProperties(1, 0, jetPackPower);
                        }

                        if (ExtendedInput.GetKey(settings.rollLeft) &&
                            ((settings.modKeyrollLeft == false && !ExtendedInput.GetKey(GameSettings.MODIFIER_KEY.primary)) ||
                             (settings.modKeyrollLeft == true && ExtendedInput.GetKey(GameSettings.MODIFIER_KEY.primary))))
                        {
                            EVAController.Instance.UpdateEVAFlightProperties(0, -1, jetPackPower);
                        }

                        if (ExtendedInput.GetKey(settings.rollRight) &&
                            ((settings.modKeyrollRight == false && !ExtendedInput.GetKey(GameSettings.MODIFIER_KEY.primary)) ||
                             (settings.modKeyrollRight == true && ExtendedInput.GetKey(GameSettings.MODIFIER_KEY.primary))))
                        {
                            EVAController.Instance.UpdateEVAFlightProperties(0, 1, jetPackPower);
                        }
                    }
                }
            }
        }
Exemple #7
0
        void Update()
        {
            bool disableShortcuts = EditorUtils.isInputFieldFocused();

            if (!disableShortcuts && PluginKeys.PLUGIN_TOGGLE.GetKeyDown())
            {
                SetActive(!Enabled);
            }

            if (Enabled)
            {
                bool b = (Mode == PluginMode.Parachutes);
                if (CoD.activeInHierarchy != b)
                {
                    CoD.SetActive(b);
                }
            }
            else if (CoD.activeInHierarchy)
            {
                CoD.SetActive(false);
            }

            if (Enabled)
            {
                updateModuleLists();
                addForces();
                //EditorUtils.RunOnAllParts (addDragVectors);

                /* find the bottommost stage with engines */
                int stage = 0;
                foreach (PartModule mod in engineList)
                {
                    if (mod.part.inverseStage > stage)
                    {
                        stage = mod.part.inverseStage;
                    }
                }
                LastStage = stage;

                /* Switching direction */
                if (!disableShortcuts && Input.anyKeyDown)
                {
                    if (ExtendedInput.GetKey(PluginKeys.TRANSLATE_UP))
                    {
                        switchDirection(Direction.up);
                    }
                    else if (ExtendedInput.GetKey(PluginKeys.TRANSLATE_DOWN))
                    {
                        switchDirection(Direction.down);
                    }
                    else if (ExtendedInput.GetKey(PluginKeys.TRANSLATE_FWD))
                    {
                        switchDirection(Direction.forward);
                    }
                    else if (ExtendedInput.GetKey(PluginKeys.TRANSLATE_BACK))
                    {
                        switchDirection(Direction.back);
                    }
                    else if (ExtendedInput.GetKey(PluginKeys.TRANSLATE_LEFT))
                    {
                        switchDirection(Direction.left);
                    }
                    else if (ExtendedInput.GetKey(PluginKeys.TRANSLATE_RIGHT))
                    {
                        switchDirection(Direction.right);
                    }
                }
            }
        }
Exemple #8
0
    public State GetInputState()
    {
        switch (IState)
        {
        case State.Idle:

            if (ExtendedInput.isInputEntered())
            {
                IState = State.Dragging;

                StartingPoint = ExtendedInput.GetPoint();
                DraggedPoint  = StartingPoint;


                if (startingPointIndicator)
                {
                    indicatorPosition.x = StartingPoint.x;
                    indicatorPosition.y = StartingPoint.y;

                    indicatorPosition   = Camera.main.ScreenToWorldPoint(indicatorPosition);
                    indicatorPosition.z = 0f;

                    startingPointIndicator.transform.position = indicatorPosition;
                    startingPointIndicator.SetActive(true);
                }
            }

            break;

        case State.Dragging:

            if (ExtendedInput.isInputExited())
            {
                IState = State.Release;
            }

            DraggedPoint = ExtendedInput.GetPoint();

            break;

        case State.Release:

            StartingPoint = Vector2.zero;
            DraggedPoint  = Vector2.zero;

            IState = State.Idle;

            if (startingPointIndicator)
            {
                startingPointIndicator.SetActive(false);
            }

            break;

        default:

            Debug.LogError("Unsupported input state");

            break;
        }

        return(IState);
    }
Exemple #9
0
    public int GetInputStateEski()
    {
        if (IState == State.Dragging)
        {
            if (ExtendedInput.isInputExited()) // saldı ship i
            {
                IState = State.Release;
                Debug.Log("Stopped Dragging. Dragged Position : " + DraggedPoint);

                StartingPoint = Vector2.zero;
                DraggedPoint  = Vector2.zero;

                //pulledEnoughForCancel = false;

                if (startingPointIndicator)
                {
                    startingPointIndicator.SetActive(false);
                }

                //return (int)IState;
            }

            /*  else if(Vector2.Distance(DraggedPoint, StartingPoint) < indicatorScale && pulledEnoughForCancel) // en başa çekere iptal etti
             * {
             *    IState = State.Canceled;
             *
             *    StartingPoint = Vector2.zero;
             *    DraggedPoint = Vector2.zero;
             *
             *    pulledEnoughForCancel = false;
             *
             *    if (startingPointIndicator)
             *    {
             *        startingPointIndicator.SetActive(false);
             *    }
             *
             *    Debug.Log("Canceled Dragging.");
             *
             *    return (int)IState;
             * }*/

            DraggedPoint = ExtendedInput.GetPoint();

            /* if(!pulledEnoughForCancel && Vector2.Distance(DraggedPoint, StartingPoint) > indicatorScale * 4f)
             * {
             *   pulledEnoughForCancel = true;
             * }*/
        }
        else if (IState == State.Idle && ExtendedInput.isInputEntered()) // çekmeye başladı
        {
            IState        = State.Dragging;
            StartingPoint = ExtendedInput.GetPoint();
            DraggedPoint  = StartingPoint;

            if (startingPointIndicator)
            {
                indicatorPosition.x = StartingPoint.x;
                indicatorPosition.y = StartingPoint.y;

                indicatorPosition   = Camera.main.ScreenToWorldPoint(indicatorPosition);
                indicatorPosition.z = 0f;

                startingPointIndicator.transform.position = indicatorPosition;
                startingPointIndicator.SetActive(true);
            }

            Debug.Log("Started Dragging. Starting Position : " + StartingPoint);
        }
        else if (IState == State.Release || IState == State.Canceled)
        {
            IState = State.Idle;
        }

        return((int)IState);
    }
        internal void drawWindow(int id)
        {
            GUI.skin = modStyle.skin;
            GUILayout.BeginVertical();
            GUILayout.Label("EVA Enhancements - Settings", modStyle.guiStyles["titleLabel"]);
            GUILayout.EndVertical();

            GUILayout.BeginVertical();
            scrollPos = GUILayout.BeginScrollView(scrollPos);

            GUILayout.Label("Default Jetpack Power: " + settings.defaultJetPackPower.ToString("P0"));
            float newJetPackPower = GUILayout.HorizontalSlider(settings.defaultJetPackPower, 0f, 1f);

            if (newJetPackPower != settings.defaultJetPackPower)
            {
                settings.defaultJetPackPower = newJetPackPower;
                settings.Save();
            }
            GUILayout.Space(10f);

            GUILayout.Label("Default Precision Jetpack Power: " + settings.defaultPrecisionModePower.ToString("P0"));
            float newPrecisionJetPackPower = GUILayout.HorizontalSlider(settings.defaultPrecisionModePower, 0f, 1f);

            if (newPrecisionJetPackPower != settings.defaultPrecisionModePower)
            {
                settings.defaultPrecisionModePower = newPrecisionJetPackPower;
                settings.Save();
            }
            GUILayout.Space(10f);

            string str;

            GUILayout.BeginHorizontal();
            GUILayout.Label("Pitch Down", GUILayout.ExpandWidth(true));
            KeyCodeExtended c = null;

            if (Event.current.isKey)
            {
                c = new KeyCodeExtended(Event.current.keyCode);
            }
            if (settingPitchDown)
            {
                GUILayout.Label("<Press any key>");
                if (Event.current.isKey && c.ToString() != GameSettings.MODIFIER_KEY.primary.ToString())
                {
                    Log.Info("keyodeExtended: " + c.ToString() + ", primary: " + GameSettings.MODIFIER_KEY.primary.ToString());
                    settings.pitchDown       = new KeyCodeExtended(Event.current.keyCode);
                    settings.modKeypitchDown = ExtendedInput.GetKey(GameSettings.MODIFIER_KEY.primary);
                    settings.Save();
                    settingPitchDown = false;
                }
            }
            else
            {
                str = settings.pitchDown.ToString();
                if (settings.modKeypitchDown)
                {
                    str = "Alt-" + str;
                }
                if (GUILayout.Button(new GUIContent(str), GUILayout.Width(125)))
                {
                    settingPitchDown = true;
                }
            }
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Pitch Up", GUILayout.ExpandWidth(true));

            if (settingPitchUp)
            {
                GUILayout.Label("<Press any key>");
                if (Event.current.isKey && c.ToString() != GameSettings.MODIFIER_KEY.primary.ToString())
                {
                    settings.pitchUp       = new KeyCodeExtended(Event.current.keyCode);
                    settings.modKeypitchUp = ExtendedInput.GetKey(GameSettings.MODIFIER_KEY.primary);
                    settings.Save();
                    settingPitchUp = false;
                }
            }
            else
            {
                str = settings.pitchUp.ToString();
                if (settings.modKeypitchUp)
                {
                    str = "Alt-" + str;
                }
                if (GUILayout.Button(new GUIContent(str), GUILayout.Width(125)))
                {
                    settingPitchUp = true;
                }
            }

            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Roll Left", GUILayout.ExpandWidth(true));

            if (settingRollLeft)
            {
                GUILayout.Label("<Press any key>");
                if (Event.current.isKey && c.ToString() != GameSettings.MODIFIER_KEY.primary.ToString())
                {
                    settings.rollLeft       = new KeyCodeExtended(Event.current.keyCode);
                    settings.modKeyrollLeft = ExtendedInput.GetKey(GameSettings.MODIFIER_KEY.primary);
                    settings.Save();
                    settingRollLeft = false;
                }
            }
            else
            {
                str = settings.rollLeft.ToString();
                if (settings.modKeyrollLeft)
                {
                    str = "Alt-" + str;
                }
                if (GUILayout.Button(new GUIContent(str), GUILayout.Width(125)))
                {
                    settingRollLeft = true;
                }
            }
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label("Roll Right", GUILayout.ExpandWidth(true));

            if (settingRollRight)
            {
                GUILayout.Label("<Press any key>");
                if (Event.current.isKey && c.ToString() != GameSettings.MODIFIER_KEY.primary.ToString())
                {
                    settings.rollRight       = new KeyCodeExtended(Event.current.keyCode);
                    settings.modKeyrollRight = ExtendedInput.GetKey(GameSettings.MODIFIER_KEY.primary);
                    settings.Save();
                    settingRollRight = false;
                }
            }
            else
            {
                str = settings.rollRight.ToString();
                if (settings.modKeyrollRight)
                {
                    str = "Alt-" + str;
                }
                if (GUILayout.Button(new GUIContent(str), GUILayout.Width(125)))
                {
                    settingRollRight = true;
                }
            }
            GUILayout.EndHorizontal();
            GUILayout.Space(10);

#if false
            GUILayout.BeginHorizontal();
            newUseStockToolbar = GUILayout.Toggle(settings.useStockToolbar, "Use Stock Toolbar");
            GUILayout.EndHorizontal();

            if (newUseStockToolbar != settings.useStockToolbar)
            {
                settings.useStockToolbar = newUseStockToolbar;
                settings.Save();
            }
#endif

            GUILayout.BeginHorizontal();
            // GUILayout.Label("NavBall follows Kerbal:");
            settingsEvaNavballFollowsKerbal = GUILayout.Toggle(settings.evaNavballFollowsKerbal, "NavBall follows Kerbal");
            if (settingsEvaNavballFollowsKerbal != settings.evaNavballFollowsKerbal)
            {
                settings.evaNavballFollowsKerbal = settingsEvaNavballFollowsKerbal;
                settings.Save();
            }
            GUILayout.EndHorizontal();


            GUILayout.BeginHorizontal();
            // GUILayout.Label("NavBall follows Kerbal:");
            settingsEvaHideNavballMarkers = GUILayout.Toggle(settings.evaHideNavballMarkers, "Hide Navball markers on EVA");
            if (settingsEvaHideNavballMarkers != settings.evaHideNavballMarkers)
            {
                settings.evaHideNavballMarkers = settingsEvaHideNavballMarkers;
                settings.Save();
            }
            GUILayout.EndHorizontal();

            GUILayout.EndScrollView();
            GUILayout.Space(25f);
            GUILayout.EndVertical();

            if (GUI.Button(new Rect(windowRect.width - 18, 3f, 15f, 15f), new GUIContent("X")))
            {
                showWindow = false;
                toolbarControl.SetFalse(false);
            }

            GUI.DragWindow();
        }
Exemple #11
0
        /// <summary>
        ///   Updates this instance.
        /// </summary>
        public void Update()
        {
            #region BugFix: v1.2 Transfer calc needs to update while the map view is closed

            if (!FlightGlobals.ready ||
                !PatchedConicsUnlocked)
            {
                return;
            }

            if (_mechJeb2 != null &&
                _advXfer != null)
            {
                CheckPorkchop();
            }

            #endregion

            #region BugFix: v1.2 save or restore keybindings when the map view is opened or closed

            if (!MapView.MapIsEnabled)
            {
                if (_savedBindings)
                {
                    RestoreBindings();
                }

                return;
            }

            if (!_savedBindings)
            {
                SaveBindings();
            }

            #endregion


            #region BugFix: v1.1 Cancel MechJeb node execution while time warping

            if (_mechJeb2 != null &&
                ExtendedInput.GetKeyUp(key: new KeyCodeExtended(key: KeyCode.KeypadEnter)))
            {
                MechJebOperationExecuteNode();
            }

            #endregion

            if (Math.Abs(value: Time.timeScale - 1f) > 0.1f)
            {
                return;
            }

            // SOI Warp
            if (ExtendedInput.GetKeyUp(key: new KeyCodeExtended(key: KeyCode.KeypadMultiply)))
            {
                if (orbit.patchEndTransition == Orbit.PatchTransitionType.ENCOUNTER ||
                    orbit.patchEndTransition == Orbit.PatchTransitionType.ESCAPE)
                {
                    Msg(msg: "Warping to SOI change");
                    TimeWarp.fetch.WarpTo(UT: orbit.EndUT);
                    return; // do not operate while in time warp
                }
                else
                {
                    Msg(msg: "Warp To SOI transition is not currently possible.");
                }
            }

            _rightAlt   = ExtendedInput.GetKey(key: RightAltKeyCodeExtended) || ExtendedInput.GetKey(key: RightCommandKeyCodeExtended);
            _rightCtrl  = ExtendedInput.GetKey(key: RightCtrlKeyCodeExtended);
            _rightShift = ExtendedInput.GetKey(key: RightShiftKeyCodeExtended);

            // combine the modifier keys into a binary-coded integer
            var i = (_rightCtrl ? 1 : 0) | (_rightShift ? 2 : 0) | (_rightAlt ? 4 : 0);

            // assign the delta based on the modifier keys. Lookup-tables are much nicer than giant blocks of if conditions.
            _delta = ModKeyMap[i];

            // call maneuver methods as needed, if MechJeb is installed.
            if (_mechJeb2 != null)
            {
                foreach (var maneuverKey in ManeuverKeys)
                {
                    if (ExtendedInput.GetKeyUp(key: maneuverKey.Key))
                    {
                        maneuverKey.Value(); // the maneuver method is in the value
                    }
                }
            }
            // make sure a node exists
            if (!vessel.patchedConicSolver.maneuverNodes.Any())
            {
                return;
            }

            foreach (var modifierKey in ModifierKeys)
            {
                if (!ExtendedInput.GetKeyUp(key: modifierKey.Key))
                {
                    continue;
                }
                modifierKey.Value(); // the modifier method is in the value
                UpdateNode(node: currentNode);
            }
        }