예제 #1
0
        public void EventEnd(EventWorld world, TwitchChat mod)
        {
            if (Main.netMode == NetmodeID.Server) // Server
            {
                NetMessage.BroadcastChatMessage(NetworkText.FromKey(LanguageManager.Instance.GetTextValue(EndString)), StartColor);
            }
            else if (Main.netMode == NetmodeID.SinglePlayer) // Single Player
            {
                Main.NewText(Language.GetTextValue(LanguageManager.Instance.GetTextValue(EndString)), StartColor);
            }

            GlobalSpawnOverride.EndOverride();
            GlobalSpawnOverride.DisablePoolOverride();
            GlobalSpawnOverride.DisableItemPool();

            if (Type == InvasionType.Invasion)
            {
                Main.invasionSize         = 0;
                Main.invasionSizeStart    = Main.invasionSize;
                Main.invasionProgress     = 0;
                Main.invasionX            = Main.spawnTileX;
                Main.invasionProgressIcon = 0;
                Main.invasionProgressWave = 0;
                Main.invasionProgressMax  = Main.invasionSizeStart;
                Main.invasionWarn         = 0;
                Main.invasionType         = 0;
                Main.invasionDelay        = 0;
                numPlayers = 0;
            }

            OnEnd();

            if (Main.netMode == 2)
            {
                ModPacket netMessage = mod.GetPacket();
                netMessage.Write((byte)NetPacketType.EventEnded);
                netMessage.Write(GetType().Name);
                netMessage.Send();
            }
        }