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); } } }
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); }