Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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;
                    }
                }
            }
        }