Example #1
0
        public void UpdateElement(IVesselElement element)
        {
            if (element == null)
            {
                return;
            }

            vesselElementInterface = element;

            m_vesselName.OnTextUpdate.Invoke(element.VesselName);

            if (element.VesselIcon != m_vesselIcon.sprite)
            {
                m_vesselIcon.sprite = element.VesselIcon;
            }

            m_persistentThrustToggle.isOn = element.HasPersistentThrustActive;
            m_vesselInfoToggle.isOn       = element.HasInfoWindowActive;

            m_vesselName.OnColorUpdate.Invoke(vesselElementInterface.IsVesselCommandable ? Color.white : Color.yellow);

            if (currentAutopilotMode != element.VesselAutopilotMode)
            {
                UpdateElementAutopilotInfo(element.VesselAutopilotMode);
                currentAutopilotMode = element.VesselAutopilotMode;
            }
        }
Example #2
0
        public void SetElement(IVesselElement element)
        {
            if (element == null)
            {
                return;
            }

            vesselElementInterface = element;

            if (element.VesselName != null)
            {
                m_vesselName.OnTextUpdate.Invoke(element.VesselName);
            }

            if (element.VesselIcon != null)
            {
                m_vesselIcon.sprite = element.VesselIcon;
            }

            m_persistentThrustToggle.isOn = element.HasPersistentThrustActive;
            m_vesselInfoToggle.isOn       = element.HasInfoWindowActive;

            currentAutopilotMode = element.VesselAutopilotMode;

            if (goToButton != null && element.IsActiveVessel)
            {
                goToButton.enabled = false;
            }

            m_vesselName.OnColorUpdate.Invoke(vesselElementInterface.IsVesselCommandable ? Color.white : Color.yellow);

            UpdateElementAutopilotInfo(element.VesselAutopilotMode);
        }
Example #3
0
        public void RemoveVessel(IVesselElement elementInterface)
        {
            if (!vesselElements.ContainsKey(elementInterface.VesselId))
            {
                return;
            }

            Destroy(vesselElements[elementInterface.VesselId].gameObject);
        }
Example #4
0
        private void AddVessel(IVesselElement elementInterface)
        {
            GameObject obj = Instantiate(m_VesselElementPrefab) as GameObject;

            if (obj == null)
            {
                return;
            }

            obj.transform.SetParent(m_VesselListTransform, false);

            VesselElement vElement = obj.GetComponent <VesselElement>();

            if (vElement == null)
            {
                return;
            }

            vElement.SetElement(elementInterface);
            vElement.gameObject.SetActive(mainWindowInterface.IsVisible);
            vElement.m_infoToggle.group = m_infoToggleGroup;

            vesselElements.Add(elementInterface.VesselId, vElement);
        }
Example #5
0
        private void CreateVesselList(IList <IVesselElement> elements)
        {
            if (elements == null)
            {
                return;
            }

            if (m_VesselElementPrefab == null || m_VesselListTransform == null)
            {
                return;
            }

            for (int i = elements.Count - 1; i >= 0; i--)
            {
                IVesselElement e = elements[i];

                if (e == null)
                {
                    continue;
                }

                AddVessel(e);
            }
        }