コード例 #1
0
        public async void Refresh(bool wasKilled)
        {
            if (HangarAssembly.Hitpoints <= 0)
            {
                Die();
                return;
            }

            HangarAssembly.Refresh();

            Send(
                ClientConfiguration.UserSettings,
                PacketBuilder.UserKeyBindinsCommand(this),
                PacketBuilder.UIMenuBarsCommand(this),
                PacketBuilder.Slotbar.SlotBarsCommand(this)
                );

            Send(
                new class_884(new List <class_503>()
            {
                new class_571(false, 1)
            }),
                PacketBuilder.Legacy("0|A|BKBB|0"),
                PacketBuilder.Legacy("0|A|BKS|0"),
                PacketBuilder.Legacy("0|A|BKB|0"),
                PacketBuilder.Legacy("0|A|BKPR|0"),
                PacketBuilder.Legacy("0|A|BKR|0"),
                PacketBuilder.Legacy("0|A|BKM|0"),
                PacketBuilder.Legacy("0|A|BK|0"),
                PacketBuilder.Legacy("0|A|JV|0"),
                PacketBuilder.Legacy("0|TR")
                );

            Send(
                PacketBuilder.InitializeShipCommand(this),
                PacketBuilder.DroneCommand(this),
                PacketBuilder.ConfigurationCommand(this),
                PacketBuilder.SpeedChangeCommand(this),
                ZoneAssembly.ZoneCommand(),
                PacketBuilder.Legacy("0|8"), // login done
                PacketBuilder.Legacy("0|7|HS")
                );

            await Task.Delay(750);

            Send(EffectsAssembly.EffectsCommand()
                 .Concat(PlayerTechAssembly.EffectsCommand())
                 .Concat(PlayerAbilityAssembly.EffectsCommand()));

            TimerStart();

            if (wasKilled)
            {
                EffectsAssembly.MakeInvincible(10000);
            }

            lock (_checkMinesInRange) {
                _renderedMines.Clear();
            }

            lock (_checkPlayersInRange) {
                _renderedPlayers.Clear();
            }

            SpacemapController.For(Account.CurrentHangar.MapID).Remove(this);
            SpacemapController.For(Account.CurrentHangar.MapID).Add(this);

            if (Locked != null)   // just for the visuals
            {
                SendLockVisual(Locked);
            }
        }