public void JSISetCrewCapacity(BaseEventData data)
 {
     if (data.GetGameObject ("objectLocal") == part.gameObject) {
         currentState = data.GetBool ("state");
         SwitchState (currentState);
     }
 }
 public void JSIComponentToggle(BaseEventData data)
 {
     if (!string.IsNullOrEmpty (moduleID) && data.GetString ("moduleID") == moduleID) {
         if (data.GetGameObject ("objectLocal") == null || data.GetGameObject ("objectLocal") == part.gameObject) {
             LoopComponents (data.GetBool ("state"));
         }
     }
 }
 protected void DeselectIfSelectionChanged(GameObject currentOverGo, BaseEventData pointerEvent)
 {
     // Selection tracking
     var selectHandlerGO = ExecuteEvents.GetEventHandler<ISelectHandler>(currentOverGo);
     // if we have clicked something new, deselect the old thing
     // leave 'selection handling' up to the press event though.
     if (selectHandlerGO != eventSystem.currentSelectedGameObject)
         eventSystem.SetSelectedGameObject(null, pointerEvent);
 }
        public void OnPartAttachNodeSizeChanged(BaseEventData data)
        {
            if (!HighLogic.LoadedSceneIsEditor)
                return;

            AttachNode node = data.Get<AttachNode>("node");
            float minDia = data.Get<float>("minDia");

            // ReSharper disable once CompareOfFloatsByEqualityOperator
            if (node.id != textureMessageName || maxImpulseDiameterRatio == 0)
                return;

            UI_FloatEdit ejectionImpulseEdit = (UI_FloatEdit)Fields["ejectionImpulse"].uiControlEditor;
            float oldRatio = ejectionImpulse / ejectionImpulseEdit.maxValue;

            maxImpulse = Mathf.Round(maxImpulseDiameterRatio * minDia);
            ejectionImpulseEdit.maxValue = maxImpulse;

            ejectionImpulse = Mathf.Round(maxImpulse * oldRatio / 0.1f) * 0.1f;
        }
 /// Controls a JSIPartComponentToggle which is part of JSIPartUtils.
 /// Unfortunately it can't return a state.
 public void ButtonTogglePartComponent(bool state)
 {
     if (!string.IsNullOrEmpty (partComponentID)) {
         var eventData = new BaseEventData (BaseEventData.Sender.USER);
         eventData.Set ("moduleID", partComponentID);
         eventData.Set ("state", state);
         eventData.Set ("objectLocal", part.gameObject);
         part.SendEvent ("JSIComponentToggle", eventData);
     }
 }
        public void OnPartResourceInitialAmountChanged(BaseEventData data)
        {
            if (!HighLogic.LoadedSceneIsEditor)
                return;
            if (selectedBell == null)
                return;

            if (UsingME)
                UpdateMaxThrust();
            else
                UpdateThrustDependentCalcs();
        }
示例#7
0
 public bool OwnsInput(BaseEventData eventData)
 {
     return(OwnAllInput || InputIsFromSource(eventData));
 }
		void ExDiscoverWorkshops (BaseEventData data)
		{
			data.Get<List<ExWorkSink>> ("sinks").Add (this);
		}
        public void OnPartAttachNodePositionChanged(BaseEventData data)
        {
            //TODO resrict to child

            AttachNode node = data.Get<AttachNode>("node");
            //Vector3 location = data.Get("location");
            //Vector3 orientation = data.Get("orientation");
            //Vector3 secondaryAxis = data.Get("secondaryAxis");

            if(node == null)
            {
                Debug.LogError("PartAttachNodePositionChanged message received, but node is null.");
                return;
            }

            if(node.owner == null)
            {
                Debug.LogWarning("PartAttachNodePositionChanged message received, but node.owner is null. Message ignored");
                return;
            }

            if (node.owner.GetComponent<ProceduralPart>() == null)
            {
                foreach (FreePartAttachment attachment in childAttach)
                {
                    if (node == attachment.AttachNode)
                    {
                        Vector3 position = node.owner.transform.TransformPoint(node.position);
                        shape.GetCylindricCoordinates(transform.InverseTransformPoint(position), attachment.Coordinates);
                    }

                }
            }
        }
示例#10
0
        public void OnKISAction(BaseEventData baseEventData)
        {
            string action = baseEventData.GetString("action");
            Part tgtPart = (Part)baseEventData.Get("targetPart");

            if (action == "Store" || action == "AttachStart" || action == "DropEnd") {
              DetachGrapple();
            }
            if (action == "AttachEnd") {
              DetachGrapple();
              if (tgtPart == null) {
            AttachStaticGrapple();
              }
            }
        }
示例#11
0
 private void DiscoverWorkshops()
 {
     ExWorkshop shop = findFirstWorkshop (vessel.rootPart);
     if (shop == this) {
     //Debug.Log (String.Format ("[EL Workshop] master"));
     var data = new BaseEventData (BaseEventData.Sender.USER);
     data.Set<ExWorkshop> ("master", this);
     sources = new List<ExWorkshop> ();
     sinks = new List<ExWorkSink> ();
     data.Set<List<ExWorkshop>> ("sources", sources);
     data.Set<List<ExWorkSink>> ("sinks", sinks);
     vessel.rootPart.SendEvent ("ExDiscoverWorkshops", data);
     } else {
     sources = null;
     sinks = null;
     }
 }
示例#12
0
 /// <summary>
 /// Handling for when the dropdown is selected and a submit event is processed. Typically shows the dropdown
 /// </summary>
 /// <param name="eventData">The associated event data.</param>
 public virtual void OnSubmit(BaseEventData eventData)
 {
     Show();
 }
示例#13
0
 /// <summary>
 /// This will hide the dropdown list.
 /// </summary>
 /// <remarks>
 /// Called by a BaseInputModule when a Cancel event occurs.
 /// </remarks>
 /// <param name="eventData">The associated event data.</param>
 public virtual void OnCancel(BaseEventData eventData)
 {
     Hide();
 }
示例#14
0
    public void OnClick(BaseEventData evnt)
    {
        PointerEventData pntr = (PointerEventData)evnt;

        ClickEvent(pntr.pointerId);
    }
 public extern void orig_OnSubmit(BaseEventData eventData);
示例#16
0
    //public void OnPointerDown(PointerEventData eventData)
    //{
    //    Debug.Log("오브젝트를 눌럿습니다.");

    //    //throw new System.NotImplementedException();
    //}

    public void OnPointerDownEvent(BaseEventData eventData)
    {
        Debug.Log("오브젝트를 눌럿습니다.");
    }
示例#17
0
 /// <summary>
 /// Raises the submit event.
 /// </summary>
 /// <param name="eventData">Event data.</param>
 void ISubmitHandler.OnSubmit(BaseEventData eventData)
 {
     ShowList();
 }
示例#18
0
        /// <summary>
        /// Submits the result.
        /// </summary>
        /// <param name="eventData">Event data.</param>
        /// <param name="isEnter">Is Enter pressed?</param>
        protected virtual void SubmitResult(BaseEventData eventData, bool isEnter)
        {
            if (DisplayListView.SelectedIndex == -1)
            {
                return;
            }
            if (InputFieldProxy.IsMultiLineNewline())
            {
                if (!DisplayListView.gameObject.activeInHierarchy)
                {
                    return;
                }
                else
                {
                    isEnter = false;
                }
            }

            var item = DisplayListView.DataSource[DisplayListView.SelectedIndex];

            if (TargetListView != null)
            {
                TargetListView.Init();
                TargetListView.Set(item, AllowDuplicate);
            }

            var value = GetStringValue(item);

            if (Result == AutocompleteResult.Append)
            {
                int end_position   = (DisplayListView.gameObject.activeInHierarchy && eventData != null && !isEnter) ? InputFieldProxy.caretPosition : CaretPosition;
                var text           = InputFieldProxy.text.Substring(0, end_position);
                var start_position = text.LastIndexOfAny(DelimiterChars) + 1;

                InputFieldProxy.text = InputFieldProxy.text.Substring(0, start_position) + value + InputFieldProxy.text.Substring(end_position);

                InputFieldProxy.caretPosition = start_position + value.Length;
                                #if UNITY_4_6 || UNITY_4_7 || UNITY_5_0
                InputFieldProxy.MoveToEnd();
                                #else
                //InputField.selectionFocusPosition = start_position + value.Length;
                                #endif
                if (isEnter)
                {
                    FixCaretPosition = start_position + value.Length;
                    InputFieldProxy.ActivateInputField();
                }
            }
            else
            {
                InputFieldProxy.text = value;
                                #if UNITY_4_6 || UNITY_4_7 || UNITY_5_0
                InputFieldProxy.ActivateInputField();
                                #else
                InputFieldProxy.caretPosition = value.Length;
                                #endif
                FixCaretPosition = value.Length;
            }

            OnOptionSelected.Invoke();
            OnOptionSelectedItem.Invoke(item);

            HideOptions();
        }
示例#19
0
 /// <summary>
 /// Submits the result.
 /// </summary>
 /// <param name="eventData">Event data.</param>
 protected virtual void SubmitResult(BaseEventData eventData)
 {
     SubmitResult(eventData, false);
 }
示例#20
0
 public void OnSelect(BaseEventData eventData)
 {
     _UISelect.ComeToMe(GetComponent <RectTransform>());
 }
 void OnMassModified(BaseEventData data)
 {
     Part part = data.Get<Part> ("part");
     float oldmass = data.Get<float> ("oldmass");
     //Debug.Log (String.Format ("[EL GUI] mass modify: {0} {1} {2}",
     //						  part, oldmass, part.mass));
     shipinfo.buildCost.mass -= oldmass;
     shipinfo.buildCost.mass += part.mass;
 }
示例#22
0
 public void OnSelect(BaseEventData eventData)
 {
     //uiReference.ShowItemCharacteristicsInInventory(item);
 }
        protected virtual BaseEventData GetBaseEventData()
        {
            if (m_BaseEventData == null)
                m_BaseEventData = new BaseEventData(eventSystem);

            m_BaseEventData.Reset();
            return m_BaseEventData;
        }
 private static void Execute(IColliderEventDropHandler handler, BaseEventData eventData)
 {
     handler.OnColliderEventDrop(ExecuteEvents.ValidateEventData <ColliderButtonEventData>(eventData));
 }
        public void OnPartVolumeChanged(BaseEventData data)
        {
            if (!HighLogic.LoadedSceneIsEditor)
                return;

            double volume = data.Get<double> ("newTotalVolume");

            if (density > 0)
            {
                UpdateMass((float)(density * volume));
                GameEvents.onEditorShipModified.Fire(EditorLogic.fetch.ship);
            }
        }
 private static void Execute(IColliderEventAxisChangedHandler handler, BaseEventData eventData)
 {
     handler.OnColliderEventAxisChanged(ExecuteEvents.ValidateEventData <ColliderAxisEventData>(eventData));
 }
 // ReSharper disable once EventNeverSubscribedTo.Local
 //[PartMessageEvent]
 //public event PartAttachNodePositionChanged NodePositionChanged;
 public void NodePositionChanged(AttachNode node, Vector3 location, Vector3 orientation, Vector3 secondaryAxis)
 {
     var data = new BaseEventData (BaseEventData.Sender.USER);
     data.Set<AttachNode> ("node", node);
     data.Set("location", location);
     data.Set("orientation", orientation);
     data.Set("secondaryAxis", secondaryAxis);
     part.SendEvent ("OnPartAttachNodePositionChanged", data, 0);
 }
 private static void Execute(IColliderEventHoverEnterHandler handler, BaseEventData eventData)
 {
     handler.OnColliderEventHoverEnter(ExecuteEvents.ValidateEventData <ColliderHoverEventData>(eventData));
 }
示例#29
0
 public static void SendKISMessage(Part destPart, MessageAction action, Part tgtPart = null, AttachNode tgtNode = null)
 {
     BaseEventData bEventData = new BaseEventData(BaseEventData.Sender.AUTO);
     bEventData.Set("action", action.ToString());
     bEventData.Set("targetPart", tgtPart);
     bEventData.Set("targetNode", tgtNode);
     destPart.SendMessage("OnKISAction", bEventData, SendMessageOptions.DontRequireReceiver);
 }
示例#30
0
        //determine whether the vessel has a part with ModuleRemoteTechSPU and load all relevant RemoteTech variables for the vessel
        public void updateRemoteTechData()
        {
            //iterate through all vessel parts and look for a part containing ModuleRemoteTechSPU
            foreach (Part p in vessel.parts)
            {
                if (p.Modules.Contains("ModuleRemoteTechSPU"))
                {
                    //create BaseEventData field
                    BaseEventData data = new BaseEventData(BaseEventData.Sender.USER);

                    //load data into the BaseEventData field using the RTinterface KSPEvent of ModuleRemoteTechSPU.
                    p.Modules["ModuleRemoteTechSPU"].Events["RTinterface"].Invoke(data);

                    //ModuleRemoteTechSPU was found, so the vessel has RemoteTech
                    hasRemoteTech = true;

                    //cache the loaded data to local fields.
                    attitudeActive = data.Get<bool>("attitudeActive");
                    //localControl = data.Get<bool>("localControl");
                    inRadioContact = data.Get<bool>("inRadioContact");
                    controlDelay = data.Get<double>("controlDelay");

                    //end iteration and method
                    return;
                }

                //if iteration didn't find any ModuleRemoteTechSPU the vessel doesn't have RemoteTech
                hasRemoteTech = false;
                inRadioContact = false;
                controlDelay = 0;
            }
        }
示例#31
0
 public void PurchaseItem(BaseEventData eventData, int slotIndex)
 {
     m_Shop.PurchaseItem(slotIndex);
     UpdateCurrencyQuantityText();
 }
 void OnPartVolumeChanged(BaseEventData data)
 {
     string volName = data.Get<string> ("volName");
     double newTotalVolume = data.Get<double> ("newTotalVolume") * tankVolumeConversion;
     if (volName == "Tankage") {
         ChangeTotalVolume (newTotalVolume);
     }
 }
示例#33
0
 public void OnSelect(BaseEventData eventData)
 {
     UpdateSprites(true);
 }
示例#34
0
        public void OnKISAction(BaseEventData baseEventData)
        {
            string action = baseEventData.GetString("action");
            Part tgtPart = (Part)baseEventData.Get("targetPart");

            if (action == "Store" || action == "AttachStart" || action == "DropEnd")
            {
                if (linked) fxSndBroke.audio.Play();
                StopEvaLink();
                Unlink();
                StopPump();
            }
        }
示例#35
0
 void ISubmitHandler.OnSubmit(BaseEventData eventData)
 {
 }
示例#36
0
 public void OnDeselect(BaseEventData eventData)
 {
     UpdateSprites(false);
 }
 public void RaiseResourceMaxChanged(PartResource resource, double amount)
 {
     var data = new BaseEventData (BaseEventData.Sender.USER);
     data.Set<PartResource> ("resource", resource);
     data.Set<double> ("amount", amount);
     part.SendEvent ("OnResourceMaxChanged", data, 0);
 }
示例#38
0
 void ExDiscoverWorkshops(BaseEventData data)
 {
     data.Get <List <ExWorkSink> > ("sinks").Add(this);
 }
示例#39
0
 public void Toggle(BaseEventData e)
 {          
     IsEnabled = !IsEnabled;
 }
示例#40
0
 public void OnStartDrag(BaseEventData data)
 {
     _startPos = (Application.platform == RuntimePlatform.Android)
         ? data.currentInputModule.input.GetTouch(0).position.x
         : data.currentInputModule.input.mousePosition.x;
 }
示例#41
0
        public void RTinterface(BaseEventData data)
        {
            bool success = true;
            try
            {
                data.Set<double>("controlDelay", RTGlobals.coreList[this.vessel].path.ControlDelay);
            }
            catch
            { data.Set<double>("controlDelay", 0); success = false; }

            try
            {
                data.Set<bool>("attitudeActive", RTGlobals.coreList[this.vessel].computer.AttitudeActive);
            }
            catch { data.Set<bool>("attitudeActive", false); success = false; }

            try
            {
                data.Set<bool>("localControl", RTGlobals.coreList[this.vessel].localControl);
            }
            catch { data.Set<bool>("localControl", true); success = false; }

            try
            {
                data.Set<bool>("inRadioContact", RTGlobals.coreList[this.vessel].InContact);
            }
            catch { data.Set<bool>("inRadioContact", true); success = false; }

            data.Set<bool>("success", success);
        }
示例#42
0
 /// <Summary>
 /// The functor of SendEnterDungeonMessage method.
 /// </Summary>
 void EnterDungeonMsg(IEnterDungeon enterDungeon, BaseEventData eventData)
 {
     enterDungeon.OnEnterDungeon();
 }
 void OnResourcesModified(BaseEventData data)
 {
     Part part = data.Get<Part> ("part");
     //Debug.Log (String.Format ("[EL GUI] res modify: {0}", part));
     shipinfo.buildCost.removePartMassless (part);
     shipinfo.buildCost.addPartMassless (part);
 }
示例#44
0
 public void OnDeselect(BaseEventData eventData)
 {
     MenuEntryBackgroundImage.color = Normal;
 }
示例#45
0
 public void OnKISAction(BaseEventData baseEventData)
 {
     if (allowStaticAttach == 0) return;
     if (useExternalStaticAttach) return;
     string action = baseEventData.GetString("action");
     Part tgtPart = (Part)baseEventData.Get("targetPart");
     if (action == KIS_Shared.MessageAction.Store.ToString() || action == KIS_Shared.MessageAction.DropEnd.ToString() || action == KIS_Shared.MessageAction.AttachStart.ToString())
     {
         GroundDetach();
         ModuleKISPickup modulePickup = KISAddonPickup.instance.GetActivePickupNearest(this.transform.position);
         if (modulePickup) KIS_Shared.PlaySoundAtPoint(modulePickup.detachStaticSndPath, this.transform.position);
     }
     if (action == KIS_Shared.MessageAction.AttachEnd.ToString() && tgtPart == null)
     {
         GroundAttach();
         ModuleKISPickup modulePickup = KISAddonPickup.instance.GetActivePickupNearest(this.transform.position);
         if (modulePickup) KIS_Shared.PlaySoundAtPoint(modulePickup.attachStaticSndPath, this.transform.position);
     }
 }
示例#46
0
 public void OnSelect(BaseEventData eventData)
 {
     MenuEntryBackgroundImage.color = Selected;
 }
示例#47
0
        public void RTdata(BaseEventData data)
        {
            bool success = true;
            try {
                data.Set<float>("controlDelay", Satellite.Connection.Delay);
            } catch { data.Set<float>("controlDelay", 0); success = false; }

            try {
                data.Set<bool>("localControl", Satellite.LocalControl);
            } catch { data.Set<bool>("localControl", true); success = false; }

            try {
                data.Set<bool>("inRadioContact", Satellite.Connection.Exists);
            } catch { data.Set<bool>("inRadioContact", true); success = false; }

            try {
                data.Set<bool>("isCommandStation", Satellite.CommandStation);
            } catch { data.Set<bool>("isCommandStation", true); success = false; }

            data.Set<bool>("success", success);
        }
示例#48
0
 private static void Execute(IPointer3DPressEnterHandler handler, BaseEventData eventData)
 {
     handler.OnPointer3DPressEnter(ExecuteEvents.ValidateEventData <Pointer3DEventData>(eventData));
 }
示例#49
0
 void ExDiscoverWorkshops(BaseEventData data)
 {
     if (!functional) {
     return;
     }
     // Even the master workshop is its own slave.
     //Debug.Log (String.Format ("[EL Workshop] slave"));
     master = data.Get<ExWorkshop> ("master");
     data.Get<List<ExWorkshop>> ("sources").Add (this);
 }
示例#50
0
 private void CallFullSendWithEventData(BaseEventData p_data)
 {
     FullSend();
 }
示例#51
0
 public virtual void OnSelect(BaseEventData eventData)
 {
     Debug.Log("eventData" + eventData.ToString());
 }
示例#52
0
 /// <summary>
 /// Raises the select event.
 /// </summary>
 /// <param name="eventData">Event data.</param>
 public virtual void OnSelect(BaseEventData eventData)
 {
     // Focus the window
     this.Focus();
 }
 public void JSIGroupToggle(BaseEventData data)
 {
     if (data.GetString ("groupID") == groupID && !string.IsNullOrEmpty (groupID)) {
         if (data.GetGameObject ("objectLocal") == null || data.GetGameObject ("objectLocal") == part.gameObject) {
             LoopThroughActuators (data.GetBool ("state"));
         }
     }
 }
 public virtual void OnSelect(BaseEventData eventData)
 {
 }
 public void OnChangeTextureScale(BaseEventData data)
 {
     string meshName = data.Get<string> ("meshName");
     Vector2 targetScale = data.Get<Vector2> ("targetScale");
     if (meshName != "sides")
         return;
     sideTextureScale = targetScale;
     oldTextureSet = null;
     UpdateTexture();
 }
示例#56
0
 public virtual void OnDeselect(BaseEventData eventData)
 {
     ((Selectable)this).OnDeselect(eventData);
     this.EvaluateHightlightDisabled(false);
 }
 void ExDiscoverWorkshops(BaseEventData data)
 {
     // Recyclers are not actual work-sinks, but the master is needed
     // to check the vessel producitivity
     if (sm != null) {
     sm.SetMaster (data.Get<ExWorkshop> ("master"));
     }
 }
示例#58
0
 /*private void OnMouseDown()
  * {
  *  Debug.Log("오브젝트 눌름");
  * }*/
 public void OnPointerDownEvent(BaseEventData eventData)
 {
     Destroy(gameObject);
 }
示例#59
0
        public void OnKISAction(BaseEventData baseEventData)
        {
            string action = baseEventData.GetString("action");
            Part tgtPart = (Part)baseEventData.Get("targetPart");
            AttachNode tgtNode = (AttachNode)baseEventData.Get("targetNode");

            if (action == "Store")
            {
                if (winchConnected)
                {
                    winchConnected.UnplugHead(false);
                }
            }
            if (action == "DropEnd")
            {
                if (winchConnected)
                {
                    winchConnected.cableJointLength = winchConnected.cableRealLenght;
                    winchConnected.PlugHead(this, KASModuleWinch.PlugState.PlugDocked, false, false, true);
                }
            }
            if (action == "AttachStart")
            {
                if (tgtNode != null)
                {
                    KASModuleWinch moduleWinch = tgtNode.owner.GetComponent<KASModuleWinch>();
                    if (moduleWinch)
                    {
                        if (moduleWinch.headState == KASModuleWinch.PlugState.Deployed && tgtNode.id == moduleWinch.connectedPortNodeName)
                        {
                            if (winchConnected)
                            {
                                winchConnected.UnplugHead(false);
                                return;
                            }
                        }
                    }
                }
            }
            if (action == "AttachEnd")
            {
                if (winchConnected)
                {
                    winchConnected.cableJointLength = winchConnected.cableRealLenght;
                }
                if (tgtNode != null)
                {
                    KASModuleWinch moduleWinch = tgtNode.owner.GetComponent<KASModuleWinch>();
                    if (moduleWinch)
                    {
                        if (moduleWinch.headState == KASModuleWinch.PlugState.Deployed && tgtNode.id == moduleWinch.connectedPortNodeName)
                        {
                            moduleWinch.PlugHead(this, KASModuleWinch.PlugState.PlugDocked, alreadyDocked: true);
                            StartCoroutine(WaitAndRemoveJoint());
                        }
                    }
                }
            }
        }
        public void ChangeAttachNodeSize(BaseEventData data)
        {
            if (!HighLogic.LoadedSceneIsEditor)
                return;
            AttachNode node = data.Get<AttachNode> ("node");
            float minDia = data.Get<float> ("minDia");
            // ReSharper disable once CompareOfFloatsByEqualityOperator
            if (node.id != bottomAttachNodeName || minDia == attachedEndSize)
                return;

            attachedEndSize = minDia;
            UpdateMaxThrust();
        }