// TODO // // - XenoIndustryLaunchCosts // --- loading from config files using a rule system // - ClusterioConnector // --- ability to connect to multiple masters and hold multiple connections open // --- only acts on external commands, no "smart" behaviour of its own // // - a single class // // ADD // - XenoIndustryCargo - dedicated cargo tanks (separate for solids and liquids) than can be loaded and unloaded using an interface when on the launchpad // - XenoIndustrySignpost // --- class handling the Clusterio connections based on planets (planetName => urlAddress dictionary) // --- loading from signpost.json file (later from a signpost server?) // --- other classes should route their requests through the XenoIndustrySignpost one, which then in turn sends the proper url address to ClusterioConnector // --- should even decide which connections to keep open and how long // public void Awake() { instance = this; DontDestroyOnLoad(this); GameEvents.onGUIApplicationLauncherReady.Add(OnGUIAppLauncherReady); GameEvents.onGUIApplicationLauncherDestroyed.Add(OnGUIApplicationLauncherDestroyed); StreamReader reader = new StreamReader(MOD_PATH + "config.json"); if (reader != null) { JSONNode modConfig = JSON.Parse(reader.ReadToEnd()); if (modConfig["debug"] != null) { Debug.Log(String.Format("ClusterioTest: sciencePerSciencePack is {0}", modConfig["sciencePerSciencePack"])); debug = modConfig["debug"]; } } XenoIndustrySignpost.LoadSignpost(); windowRect = new Rect(Screen.width / 2 - 150, Screen.height / 2 - 150, 300, 100); clusterioInventory = new Dictionary <string, int>(); }