public void Import(BinaryReader r) { star = null; isRun = false; int num = r.ReadInt32(); star = new StarFuel[num]; for (int i = 0; i < num; i++) { star[i] = new StarFuel(); star[i].Import(r); } }
static void GameTick(GameData __instance) { if (!isRun) { var galaxy = __instance.galaxy; if (star == null) { star = new StarFuel[galaxy.starCount]; for (int i = 0; i < galaxy.starCount; i++) { star[i] = new StarFuel(i, galaxy.stars[i].luminosity); } } else { int count = Math.Min(galaxy.starCount, star.Length); for (int i = 0; i < count; i++) { galaxy.stars[i].luminosity = star[i].GetNewL(); } } isRun = true; } if (isRun) { if (GameMain.localStar != null) { var dis = GameMain.localStar.uPosition.Distance(GameMain.mainPlayer.uPosition) / GameMain.localStar.radius; if (dis < showDis) { isShow = true; } else { isShow = false; } } } }