public EnemySpawnedPacket MakeEnemySpawnedPacket(float xPos, float yPos, string enemyID) { EnemySpawnedPacket packet = new EnemySpawnedPacket { XPosition = xPos, YPosition = yPos, EnemyID = enemyID }; return(packet); }
private void UpdateEnemies(GameTime gameTime) { // Spawn a new enemy enemy every 1.5 seconds if (gameTime.TotalGameTime - _previousEnemySpawnTime > _enemySpawnTime) { _previousEnemySpawnTime = gameTime.TotalGameTime; var enemy = _enemyManager.AddEnemy(); for (int i = 0; i < ComponentClients.Count; i++) // Send the enemy spawn to all clients { EnemySpawnedPacket packet = NetworkPacketFactory.Instance.MakeEnemySpawnedPacket(enemy.Position.X, enemy.Position.Y, enemy.EnemyID); packet.TotalGameTime = (float)gameTime.TotalGameTime.TotalSeconds; ComponentClients[i].SendPacketToClient(packet, MessageType.GI_ServerSend_EnemySpawn); } } _enemyManager.Update(gameTime); }
private void ClientMessenger_OnEnemySpawnedPacket(BasePacket packet) { EnemySpawnedPacket enemySpawn = (EnemySpawnedPacket)packet; _enemyManager.AddEnemy(new Vector2(enemySpawn.XPosition, enemySpawn.YPosition), enemySpawn.EnemyID); }