コード例 #1
0
        ////////////////
        // Server Receivers
        ////////////////

        private static void ReceiveInvasionRequestOnServer(BinaryReader reader, int playerWho)
        {
            // Server only
            if (Main.netMode != 2)
            {
                return;
            }

            int    musicType    = reader.ReadInt32();
            string spawnInfoEnc = reader.ReadString();
            var    spawnInfo    = JsonConvert.DeserializeObject <List <KeyValuePair <int, ISet <int> > > >(spawnInfoEnc);

            var myworld = ModContent.GetInstance <DynamicInvasionsWorld>();

            myworld.Logic.StartInvasion(musicType, spawnInfo.AsReadOnly());

            for (int i = 0; i < Main.player.Length; i++)
            {
                Player player = Main.player[i];
                if (player == null || !player.active)
                {
                    continue;
                }

                ServerPacketHandlers.SendInvasionFromServer(player, musicType, spawnInfoEnc);
            }
        }