private void DoReadShipCreate()
        {
            int     tmpUID     = FReader.ReadInt32();
            Landing tmpLanding = LandingByUID(tmpUID);

            /* пересмотреть логику */
            if (tmpLanding.Ship != null)
            {
                return;
            }
            Player   LOwner    = SSHShared.FindPlayer(FReader.ReadInt32());
            ShipType LShipType = (ShipType)FReader.ReadInt32();
            Ship     LShip     = new Ship(tmpUID, LOwner, tmpLanding, LShipType)
            {
                State          = (ShipState)FReader.ReadInt32(),
                Mode           = (ShipMode)FReader.ReadInt32(),
                AttachedPlanet = PlanetByUID(FReader.ReadInt32()),
                Count          = FReader.ReadInt32(),
                HP             = FReader.ReadInt32(),
                Fuel           = FReader.ReadInt32(),
                IsCapture      = FReader.ReadBoolean(),
                IsAutoTarget   = FReader.ReadBoolean(),
            };

            LShip.Allocate();
        }
        private void DoReadShipRemove()
        {
            int  LUID     = FReader.ReadInt32();
            bool LDestroy = FReader.ReadBoolean();

            LandingByUID(LUID).Ship.Delete(LDestroy);
        }
Exemple #3
0
        [Fact] public void HierarchyInput2()
        {
            FReader.SetDirAndFile("Tests", "hierToRead2", ".txt");
            var hierWriteBack = FReader.ReadHierarchy <double>();
            var array         = hierWriteBack.ConvertToArray();

            if (array != null)
            {
                var result   = (double[][][])array;
                var expected = new double[][][] {
                    new double[][] {
                        new double[] { 7, 3 },
                        new double[] { 0, 5 }
                    },
                    new double[][] {
                        new double[] { 3, 5 },
                        new double[] { 4, 2 },
                        new double[] { 8, 1 }
                    },
                    new double[][] {
                        new double[] { 11, 88 },
                        new double[] { 33, 56 },
                        new double[] { 96, 28 },
                        new double[] { 28, 51 }
                    }
                };
                Assert.True(result.Equals <dbl, DblA>(expected, 0.000001));
            }
            else
            {
                Assert.True(false, "Could not convert hierarchy to array.");
            }
        }
        private void DoReadPlanetTradePathUpdate()
        {
            int    LPLanet = FReader.ReadInt32();
            Planet LTarget = PlanetByUID(FReader.ReadInt32());

            PlanetByUID(LPLanet).UpdateTradePath(LTarget);
        }
    // Оповещение о доступности созвездия
    private void ReadPlanetarAvailable()
    {
        int LPlanetarID = FReader.ReadInt32();
        int LErrorCode  = FReader.ReadInt32();

        SWEShared.UIPanelAuth.PlanetarAvailable(LPlanetarID, LErrorCode);
    }
        private void DoReadPlanetElectroUpdate()
        {
            int LPLanet = FReader.ReadInt32();
            int LEnergy = FReader.ReadInt32();

            PlanetByUID(LPLanet).UpdateEnergy(LEnergy);
        }
        private void DoReadPlayerStorageResize()
        {
            int LStorageSize = FReader.ReadInt32();

            Engine.Player.StorageLevel = LStorageSize;
            Engine.UIPlayerDetails.Storage.Resize(LStorageSize, false);
        }
        private void DoReadPlanetBattleUpdate()
        {
            int  LPLanet   = FReader.ReadInt32();
            bool LInBattle = FReader.ReadBoolean();

            PlanetByUID(LPLanet).UpdateBattle(LInBattle);
        }
        private void DoReadPortalClose()
        {
            Planet LSource = PlanetByUID(FReader.ReadInt32());

            // Закроем портал
            LSource.PortalClose();
        }
        private void DoReadPlanetModulesUpdate()
        {
            int LPLanet = FReader.ReadInt32();
            int LCount  = FReader.ReadInt32();

            PlanetByUID(LPLanet).UpdateModulesCount(LCount);
        }
        private void DoReadPlanetSubscriptionChanged()
        {
            int  LPLanet     = FReader.ReadInt32();
            bool LSubscribed = FReader.ReadBoolean();

            PlanetByUID(LPLanet).UpdateSubscription(LSubscribed);
        }
        private void DoReadShipRefill()
        {
            int LUID  = FReader.ReadInt32();
            int LFuel = FReader.ReadInt32();

            LandingByUID(LUID).Ship.UpdateFuel(LFuel);
        }
        private void DoReadPlanetStorageClear()
        {
            int LPlanet = FReader.ReadInt32();
            int LIndex  = FReader.ReadInt32();

            Engine.UIPlanetDetails.Storage.Clear(LPlanet, LIndex);
        }
        private void DoReadPlanetStateTime()
        {
            int LPlanet = FReader.ReadInt32();
            int LTime   = FReader.ReadInt32();

            PlanetByUID(LPlanet).UpdateTimer(LTime);
        }
        private void DoReadPlanetStateUpdate()
        {
            int         LPlanet      = FReader.ReadInt32();
            PlanetState LPlanetState = (PlanetState)FReader.ReadInt32();

            PlanetByUID(LPlanet).UpdateState(LPlanetState);
        }
        private void DoReadPlanetOwnerChanged()
        {
            int LPlanetUID = FReader.ReadInt32();
            int LOwner     = FReader.ReadInt32();

            PlanetByUID(LPlanetUID).UpdateOwner(LOwner);
        }
Exemple #17
0
        [Fact] public void HierarchyInput()
        {
            FReader.SetDirAndFile("Tests", "hierToRead", ".txt");
            var hierWriteBack = FReader.ReadHierarchy <double>();
            var strw          = new StringWriter();

            strw.Write <dbl>(hierWriteBack);
            Assert.True(strw.ToString() == "{{9, 7}, {6, 3}, {5, 2}}");
            var array = hierWriteBack.ConvertToArray();

            if (array != null)
            {
                var result   = (double[][])array;
                var expected = new double[][] {
                    new double[] { 9, 7 },
                    new double[] { 6, 3 },
                    new double[] { 5, 2 }
                };
                Assert.True(result.Equals <dbl, DblA>(expected, 0.000001));
            }
            else
            {
                Assert.True(false, "Could not convert hierarchy to array.");
            }
        }
        private void DoReadPortalUpdate()
        {
            Planet LSource = PlanetByUID(FReader.ReadInt32());
            int    LLimit  = FReader.ReadInt32();

            // Обновим портал
            LSource.PortalUpdate(LLimit);
        }
        private void DoReadPlayerHangarUpdate()
        {
            int LSlot     = FReader.ReadInt32();
            int LShipType = FReader.ReadInt32();
            int LCount    = FReader.ReadInt32();

            Engine.UIPlayerDetails.Hangar.UpdateData(LSlot, (ShipType)LShipType, LCount);
        }
        private void DoReadPlanetCoverageUpdate()
        {
            int     LPlanet    = FReader.ReadInt32();
            bool    LIncrement = FReader.ReadBoolean();
            SSHRole LRole      = (SSHRole)FReader.ReadInt32();

            PlanetByUID(LPlanet).UpdateCoverage(LIncrement, LRole);
        }
        private void DoReadPlanetVisibilityUpdate()
        {
            int  LPlanet    = FReader.ReadInt32();
            bool LHardLight = FReader.ReadBoolean();
            bool LIncrement = FReader.ReadBoolean();

            PlanetByUID(LPlanet).UpdateVisibility(LHardLight, LIncrement);
        }
        private void DoReadLowGravityUpdate()
        {
            Planet LSource  = PlanetByUID(FReader.ReadInt32());
            bool   LEnabled = FReader.ReadBoolean();

            // Включим или выключим гравитационный потенциал
            LSource.LowGravity(LEnabled);
        }
        private void DoReadPlanetStorageResize()
        {
            int  LPLanet = FReader.ReadInt32();
            int  LSize   = FReader.ReadInt32();
            bool LClear  = FReader.ReadBoolean();

            PlanetByUID(LPLanet).UpdateStorageSize(LSize, LClear);
        }
        private void DoReadPlayerStorageUpdate()
        {
            int LSlot  = FReader.ReadInt32();
            int LResID = FReader.ReadInt32();
            int LCount = FReader.ReadInt32();

            Engine.UIPlayerDetails.Storage.Change(LSlot, LResID, LCount);
        }
 private void DoReadLoadSystemBegin()
 {
     // Размеры созвездия
     Engine.MapSize.x = FReader.ReadInt32();
     Engine.MapSize.y = FReader.ReadInt32();
     // Установим свойства созвездия
     Engine.SceneManager.Load();
 }
        private void DoReadShipFlight()
        {
            Ship LShip  = LandingByUID(FReader.ReadInt32()).Ship;
            int  LState = FReader.ReadInt32();
            int  LMode  = FReader.ReadInt32();

            LShip.UpdateState((ShipState)LState, (ShipMode)LMode);
        }
        private void DoReadPlanetCaptureUpdate()
        {
            int     LPLanet       = FReader.ReadInt32();
            int     LCaptureValue = FReader.ReadInt32();
            SSHRole LCaptureRole  = (SSHRole)FReader.ReadInt32();

            PlanetByUID(LPLanet).UpdateCapture(LCaptureValue, LCaptureRole);
        }
        private void DoReadShipTimerUpdate()
        {
            int LUID     = FReader.ReadInt32();
            int LTimer   = FReader.ReadInt32();
            int LSeconds = FReader.ReadInt32();

            LandingByUID(LUID).Ship.UpdateTimer(LTimer, LSeconds);
        }
Exemple #29
0
        [Fact] public void ReadAndParseArray()
        {
            FReader.SetDirAndFile("Tests/", "array1d", ".txt");
            var inputArray  = (double[])FReader.ReadArray <double>();
            var actualArray = new double[] { 0, 7, 3, 8, 2, 4, 9, 11, 15 };

            Assert.True(inputArray.Equals <dbl, DblA>(actualArray, 0.000001));
        }
        private void DoReadShipRetarget()
        {
            Ship           LShip        = LandingByUID(FReader.ReadInt32()).Ship;
            ShipWeaponType LWeaponeType = (ShipWeaponType)FReader.ReadInt32();
            Landing        LLanding     = LandingByUID(FReader.ReadInt32());

            LShip.Weapon(LWeaponeType).Retarget(LLanding != null ? LLanding.Ship : null);
        }