Terraria.NetMessage.syncPlayers C# (CSharp) Method

syncPlayers() public static method

public static syncPlayers ( ) : void
return void
        public static void syncPlayers()
        {
            bool flag1 = false;
            for (int index1 = 0; index1 < (int)byte.MaxValue; ++index1)
            {
                int num1 = 0;
                if (Main.player[index1].active)
                    num1 = 1;
                if (Netplay.Clients[index1].State == 10)
                {
                    if (Main.autoShutdown && !flag1 && Netplay.Clients[index1].Socket.GetRemoteAddress().IsLocalHost())
                        flag1 = true;
                    NetMessage.SendData(14, -1, index1, "", index1, (float)num1, 0.0f, 0.0f, 0, 0, 0);
                    NetMessage.SendData(4, -1, index1, Main.player[index1].name, index1, 0.0f, 0.0f, 0.0f, 0, 0, 0);
                    NetMessage.SendData(13, -1, index1, "", index1, 0.0f, 0.0f, 0.0f, 0, 0, 0);
                    NetMessage.SendData(16, -1, index1, "", index1, 0.0f, 0.0f, 0.0f, 0, 0, 0);
                    NetMessage.SendData(30, -1, index1, "", index1, 0.0f, 0.0f, 0.0f, 0, 0, 0);
                    NetMessage.SendData(45, -1, index1, "", index1, 0.0f, 0.0f, 0.0f, 0, 0, 0);
                    NetMessage.SendData(42, -1, index1, "", index1, 0.0f, 0.0f, 0.0f, 0, 0, 0);
                    NetMessage.SendData(50, -1, index1, "", index1, 0.0f, 0.0f, 0.0f, 0, 0, 0);
                    for (int index2 = 0; index2 < 59; ++index2)
                        NetMessage.SendData(5, -1, index1, Main.player[index1].inventory[index2].name, index1, (float)index2, (float)Main.player[index1].inventory[index2].prefix, 0.0f, 0, 0, 0);
                    for (int index2 = 0; index2 < Main.player[index1].armor.Length; ++index2)
                        NetMessage.SendData(5, -1, index1, Main.player[index1].armor[index2].name, index1, (float)(59 + index2), (float)Main.player[index1].armor[index2].prefix, 0.0f, 0, 0, 0);
                    for (int index2 = 0; index2 < Main.player[index1].dye.Length; ++index2)
                        NetMessage.SendData(5, -1, index1, Main.player[index1].dye[index2].name, index1, (float)(58 + Main.player[index1].armor.Length + 1 + index2), (float)Main.player[index1].dye[index2].prefix, 0.0f, 0, 0, 0);
                    for (int index2 = 0; index2 < Main.player[index1].miscEquips.Length; ++index2)
                        NetMessage.SendData(5, -1, index1, "", index1, (float)(58 + Main.player[index1].armor.Length + Main.player[index1].dye.Length + 1 + index2), (float)Main.player[index1].miscEquips[index2].prefix, 0.0f, 0, 0, 0);
                    for (int index2 = 0; index2 < Main.player[index1].miscDyes.Length; ++index2)
                        NetMessage.SendData(5, -1, index1, "", index1, (float)(58 + Main.player[index1].armor.Length + Main.player[index1].dye.Length + Main.player[index1].miscEquips.Length + 1 + index2), (float)Main.player[index1].miscDyes[index2].prefix, 0.0f, 0, 0, 0);
                    if (!Netplay.Clients[index1].IsAnnouncementCompleted)
                    {
                        Netplay.Clients[index1].IsAnnouncementCompleted = true;
                        NetMessage.SendData(25, -1, index1, Main.player[index1].name + " " + Lang.mp[19], (int)byte.MaxValue, (float)byte.MaxValue, 240f, 20f, 0, 0, 0);
                        if (Main.dedServ)
                            Console.WriteLine(Main.player[index1].name + " " + Lang.mp[19]);
                    }
                }
                else
                {
                    int num2 = 0;
                    NetMessage.SendData(14, -1, index1, "", index1, (float)num2, 0.0f, 0.0f, 0, 0, 0);
                    if (Netplay.Clients[index1].IsAnnouncementCompleted)
                    {
                        Netplay.Clients[index1].IsAnnouncementCompleted = false;
                        NetMessage.SendData(25, -1, index1, Netplay.Clients[index1].Name + " " + Lang.mp[20], (int)byte.MaxValue, (float)byte.MaxValue, 240f, 20f, 0, 0, 0);
                        if (Main.dedServ)
                            Console.WriteLine(Netplay.Clients[index1].Name + " " + Lang.mp[20]);
                        Netplay.Clients[index1].Name = "Anonymous";
                    }
                }
            }
            bool flag2 = false;
            for (int number = 0; number < 200; ++number)
            {
                if (Main.npc[number].active && Main.npc[number].townNPC && NPC.TypeToNum(Main.npc[number].type) != -1)
                {
                    if (!flag2 && Main.npc[number].type == 368)
                        flag2 = true;
                    int num = 0;
                    if (Main.npc[number].homeless)
                        num = 1;
                    NetMessage.SendData(60, -1, -1, "", number, (float)Main.npc[number].homeTileX, (float)Main.npc[number].homeTileY, (float)num, 0, 0, 0);
                }
            }
            if (flag2)
                NetMessage.SendTravelShop();
            NetMessage.SendAnglerQuest();
            if (!Main.autoShutdown || flag1)
                return;
            WorldFile.saveWorld();
            Netplay.disconnect = true;
        }
    }