Beispiel #1
0
        void OnMouseEnter()
        {
            if (HighLogic.LoadedScene == GameScenes.SPACECENTER)
            {
                try
                {
                    if (this.gameObject == null)
                    {
                        Destroy(this);
                    }
                    if (staticInstance == null)
                    {
                        staticInstance = InstanceUtil.GetStaticInstanceForGameObject(this.gameObject);
                    }
                    if (staticInstance == null)
                    {
                        Log.UserInfo("Cound not determin instance for mouse selector");
                        Destroy(this);
                    }

                    if (staticInstance.launchSite.isOpen)
                    {
                        staticInstance.HighlightObject(new Color(0.4f, 0.9f, 0.4f, 0.5f));
                    }
                    else
                    {
                        staticInstance.HighlightObject(new Color(0.9f, 0.4f, 0.4f, 0.5f));
                    }
                }
                catch
                {
                    Destroy(this);
                }
            }
        }
Beispiel #2
0
        internal override KKFacility ParseConfig(ConfigNode node)
        {
            LaunchSite launchSite = base.ParseConfig(node) as LaunchSite;

            launchSite.lsGameObject = launchSite.gameObject;
            // this is might be slow
            launchSite.parentInstance = InstanceUtil.GetStaticInstanceForGameObject(lsGameObject);
            launchSite.body           = parentInstance.CelestialBody;

            if (!string.IsNullOrEmpty(LaunchSiteLogo))
            {
                logo = GameDatabase.Instance.GetTexture(LaunchSiteLogo, false);

                if (logo == null)
                {
                    logo = GameDatabase.Instance.GetTexture(launchSite.parentInstance.model.path + "/" + launchSite.LaunchSiteLogo, false);
                }
            }
            // use default logo
            if (logo == null)
            {
                logo = GameDatabase.Instance.GetTexture("KerbalKonstructs/Assets/DefaultSiteLogo", false);
            }

            if (!string.IsNullOrEmpty(LaunchSiteIcon))
            {
                icon = GameDatabase.Instance.GetTexture(LaunchSiteIcon, false);

                if (icon == null)
                {
                    icon = GameDatabase.Instance.GetTexture(launchSite.parentInstance.model.path + "/" + launchSite.LaunchSiteIcon, false);
                }
            }


            refLon = (float)Math.Round(KKMath.GetLongitudeInDeg(launchSite.parentInstance.RadialPosition), 2);
            refLat = (float)Math.Round(KKMath.GetLatitudeInDeg(launchSite.parentInstance.RadialPosition), 2);

            refAlt = launchSite.parentInstance.RadiusOffset;


            return(launchSite);
        }
        internal void Initialize()
        {
            staticInstance = facility.staticInstance;

            if (this.gameObject == null)
            {
                Destroy(this);
            }
            if (staticInstance == null)
            {
                staticInstance = InstanceUtil.GetStaticInstanceForGameObject(this.gameObject);
            }
            if (staticInstance == null)
            {
                Log.UserInfo("Cound not determin instance for mouse selector");
                Destroy(this);
            }
            facType     = facility.facType;
            initialized = true;
        }
        // Returns the StaticObject of a site. Can provide a sitename or a GameObject
        public static StaticInstance getSiteStaticObject(string siteName, GameObject go = null)
        {
            StaticInstance soSite = null;

            if (go != null)
            {
                soSite = InstanceUtil.GetStaticInstanceForGameObject(go);

                if (soSite == null)
                {
                    return(null);
                }
                return(soSite);
            }

            string sName = "";
            object oName = null;

            foreach (StaticInstance instance in StaticDatabase.allStaticInstances.Where(inst => inst.hasLauchSites == true))
            {
                oName = instance.launchSite.LaunchSiteName;
                if (oName == null)
                {
                    continue;
                }

                oName = null;

                sName = instance.launchSite.LaunchSiteName;
                if (sName == siteName)
                {
                    return(instance);
                }
            }

            return(null);
        }