示例#1
0
        public static void ParseSpawnCommand(Packet packet)
        {
            PacketSpawnCommand command = (PacketSpawnCommand)packet;

            if (command.spawnCommand != null)
            {
                pendingSpawnRequests.Add(command.spawnCommand);
            }
        }
示例#2
0
        private static void SendSpawnCommands()
        {
            List <SpawnCommand> spawnCommands = new List <SpawnCommand>();

            spawnCommands.AddRange(pendingSpawnCommands);
            pendingSpawnCommands.RemoveRange(0, pendingSpawnCommands.Count);

            foreach (SpawnCommand spawnCommand in spawnCommands)
            {
                PacketSpawnCommand command = new PacketSpawnCommand();
                command.spawnCommand = spawnCommand;

                serverObject.SendClientUpdates(command);
            }
        }
示例#3
0
        public static void ClientInitializationUpdate(NetworkConnection conn)
        {
            List <SpawnCommand> spawnCommands = objectsManager.spawnedEntities.Values.Where(entity => !entity.staticEntity).Select(entity => entity.GetSpawnRequest()).ToList();

            foreach (SpawnCommand spawnCommand in spawnCommands)
            {
                PacketSpawnCommand command = new PacketSpawnCommand(spawnCommand);

                serverObject.SendClientUpdates(command, conn);
            }

            foreach (NetworkEntity entity in objectsManager.spawnedEntities.Values)
            {
                entity.Ready();
            }
        }