public void Update() { if (Time.timeSinceLevelLoad < 3.0f || !isRBactive || !loadRBthisscene || isRBloaded) // Check not loading level, or ResearchBodies is not active, or don't need to load RB this scene or it's already loaded. { return; } if (isRBactive) { if (!RBWrapper.APIRBReady) { RBWrapper.InitRBWrapper(); } isRBloaded = RBWrapper.APIRBReady; if (isRBloaded) { RBCelestialBodies = RBWrapper.RBactualAPI.CelestialBodies; } } }
public void Start() { Utilities.Log_Debug("Starting Tarsier Progress Tracking"); Instance = this; isRSSactive = Utilities.IsRSSInstalled; isOPMactive = Utilities.IsOPMInstalled; isNHactive = Utilities.IsNHInstalled; isRBactive = Utilities.IsResearchBodiesInstalled; bodyNames = FlightGlobals.Bodies.Where(p => p.Radius > 100).Select(p => p.name).ToList(); //List of CBs where radius > 100m (exclude Sigma Binaries) if (isRBactive) { try { if (!RBWrapper.APIRBReady) { RBWrapper.InitRBWrapper(); } RBwindowID = Utilities.getnextrandomInt(); if (RBWrapper.APIRBReady) { GameEvents.OnScienceRecieved.Add(processScience); } else { Utilities.Log("Initialise of ResearchBodies interface failed unexpectedly. Interface disabled."); isRBactive = false; } } catch (Exception ex) { Utilities.Log("Initialise of ResearchBodies interface failed unexpectedly. Interface disabled. Ex: {0}", ex.Message); isRBactive = false; } } }