private void NewEnemy(string[] msg, int connectionId) { int instanceId = Int32.Parse(msg[1]); int id = Int32.Parse(msg[2]); float hp = float.Parse(msg[3]); int directionX = Int32.Parse(msg[4]); float posX = float.Parse(msg[5]); float posY = float.Parse(msg[6]); NetworkPlayer player = server.GetPlayer(connectionId); Room room = player.room; room.AddEnemy(instanceId, id, hp); NetworkEnemy enemy = room.GetEnemy(id); enemy.SetPosition(directionX, posX, posY); string message = "EnemyRegistered/" + instanceId + "/" + id + "/" + directionX + "/" + posX + "/" + posY; if (msg.Length >= 9) { float patrolX = float.Parse(msg[7]); float patrolY = float.Parse(msg[8]); message += ("/" + patrolX + "/" + patrolY); enemy.SetPatrollingPoint(directionX, posX, posY, patrolX, patrolY); } room.SendMessageToAllPlayers(message, true); }
public NetworkEnemy AddEnemy(int instanceId, int enemyId, float hp) { NetworkEnemy enemy = new NetworkEnemy(instanceId, enemyId, hp, this); enemies.Add(enemy); return(enemy); }
private void ReduceEnemyHp(string message, string[] msg, int connectionId) { int enemyId = Int32.Parse(msg[1]); float enemyHp = float.Parse(msg[2]); NetworkPlayer player = server.GetPlayer(connectionId); NetworkEnemy enemy = player.room.GetEnemy(enemyId); enemy.ReduceHp(enemyHp); }
private void EnemyDied(string message, string[] msg, string ip) { int enemyId = Int32.Parse(msg[1]); NetworkPlayer player = server.GetPlayer(ip); NetworkEnemy enemy = player.room.GetEnemy(enemyId); if (enemy != null) { enemy.Die(); } }
private void EnemyChangePosition(string message, string[] msg, int connectionId) { int enemyId = Int32.Parse(msg[1]); int directionX = Int32.Parse(msg[2]); float posX = float.Parse(msg[3]); float posY = float.Parse(msg[4]); NetworkPlayer player = server.GetPlayer(connectionId); NetworkEnemy enemy = player.room.GetEnemy(enemyId); enemy.SetPosition(directionX, posX, posY); player.room.SendMessageToAllPlayersExceptOne(message, connectionId, false); }
private void SendEnemyPatrollingPoint(string message, string[] msg, int connectionId) { int enemyId = Int32.Parse(msg[1]); int directionX = Int32.Parse(msg[2]); float posX = float.Parse(msg[3]); float posY = float.Parse(msg[4]); float patrolX = float.Parse(msg[5]); float patrolY = float.Parse(msg[6]); NetworkPlayer player = server.GetPlayer(connectionId); NetworkEnemy enemy = player.room.GetEnemy(enemyId); enemy.SetPatrollingPoint(directionX, posX, posY, patrolX, patrolY); player.room.SendMessageToAllPlayersExceptOne(message, connectionId, true); }
// Use this for initialization void Awake() { animator = GetComponent <Animator>(); healthManager = GetComponent <HealthManager>(); networkEnemy = GetComponent <NetworkEnemy>(); agent = GetComponent <NavMeshAgent>(); if (!PhotonNetwork.isMasterClient) { agent.enabled = false; } else { StartCoroutine(CoRetargeting()); } }
public void PullActions() { string response; do { response = DownloadString("?mode=getActionsLong&session={0}", sessionId); } while (string.IsNullOrEmpty(response)); foreach (string action in response.SplitEx(';')) { lock (connectedClients) { string[] args = action.SplitEx(':'); string[] argsargs = args[1].SplitEx(','); string gameId = argsargs[0]; switch (args[0]) { case "gs": var enemy = new NetworkEnemy(this, gameId, new EnemyId { Name = argsargs[2], SessionNo = argsargs[3] }); connectedClients.Add(gameId, enemy); GameStarted(new ServerGame { Holes = argsargs.Skip(4).Select(Position.Parse).ToArray(), ServerStarts = argsargs[1] == "w", RemotePlayer = enemy }); break; case "mv": connectedClients[gameId].PushMove(new Move(Position.Parse(argsargs[1]), Position.Parse(argsargs[2]))); break; case "ge": case "ga": connectedClients[gameId].GameEnded(); connectedClients.Remove(gameId); break; } } } }
public bool RemoveEnemy(NetworkEnemy enemy) { return(enemies.Remove(enemy)); }