/// <summary> /// Remove um jogador do mapa. /// </summary> /// <param name="id"></param> public void RemovePlayer(int characterID) { CharacterID.Remove(characterID); foreach (int id in CharacterID) { var pData = Authentication.FindByCharacterID(id); if (pData.CharacterID == characterID) { continue; } MapPacket.RemovePlayerOnMap(pData.Connection, characterID); } }
/// <summary> /// Envia cada jogador do mapa para determinado jogador. /// </summary> /// <param name="pData"></param> public void GetPlayerOnMap(PlayerData pData) { foreach (int characterID in CharacterID) { //procura o jogador pelo ID var playerData = Authentication.FindByCharacterID(characterID); //se for o mesmo jogador, ignora if (playerData.CharacterID == pData.CharacterID) { continue; } MapPacket.SendMapPlayer(pData.Connection, playerData.CharacterID, playerData.CharacterName, playerData.Sprite, playerData.Direction, playerData.PosX, playerData.PosY); } }
/// <summary> /// Envia o movimento do jogador para o mapa. /// </summary> /// <param name="pData"></param> /// <param name="dir"></param> public void SendPlayerMove(PlayerData pData, byte dir) { foreach (int characterID in CharacterID) { //procura o jogador pelo ID var playerData = Authentication.FindByCharacterID(characterID); //se for o mesmo jogador, ignora if (playerData.CharacterID == pData.CharacterID) { continue; } MapPacket.SendPlayerMapMove(playerData.Connection, pData.CharacterID, dir); } }