// Update the HUD showing the player stats. private void updatePlayerStatsText(PlayerStatsMessage message) { if (!this.isLocalPlayer) { return; } Text aliveText = GameObject.Find("Canvas/PlayerStatsText").GetComponent <Text>(); if ((aliveText == null) || (message.playersAlive < 1)) { return; } aliveText.text = string.Format("{0}\n{1} ALIVE\n{2} KILLS", message.name, message.playersAlive, message.kills); if ((message.killer == "") || (message.dead == "")) { return; } Text killedText = GameObject.Find("Canvas/PlayerKilledText").GetComponent <Text>(); if (killedText != null) { killedText.text = string.Format("{0} was killed by {1}", message.dead, message.killer); StartCoroutine(this.showKilledText(5.0f, 0.0f, killedText)); } }
// Update the player stats. private void updatePlayerStats(PlayerStatsMessage message) { if (this.isServer) { this.RpcUpdatePlayerStats(message); } else if (this.isClient) { this.CmdUpdatePlayerStats(message); } }
// Tell the player how many players are still alive. private void sendPlayerStatsMessage(int id, int killerID = -1, int deadID = -1) { PlayerStatsMessage message = new PlayerStatsMessage(); message.name = this._players[id].name; message.playersAlive = this.getNrOfPlayersAlive(); message.kills = this._players[id].kills; message.killer = (killerID >= 0 ? this._players[killerID].name : ""); message.dead = (deadID >= 0 ? this._players[deadID].name : ""); NetworkServer.SendToClient(id, (short)NetworkMessageType.MSG_PLAYER_STATS, message); }
private void CmdUpdatePlayerStats(PlayerStatsMessage message) { this.RpcUpdatePlayerStats(message); }
private void RpcUpdatePlayerStats(PlayerStatsMessage message) { this.updatePlayerStatsText(message); }