public void SetData(PayloadModels.Player p, bool isMain) { _oldPosition = _newPosition; Vector3 position = Helpers.String2Vector(p.position); // @TODO: Before we figure out Nuke etc, just set z to 0 position.z = 0; _newPosition = _currentMap.Dims.ScaleVector(position); // @TODO: Check health and draw as dead if required? gameObject.GetComponent <SpriteRenderer>().sprite = Sprite(p); // gameObject.transform.SetPositionAndRotation(position, Quaternion.Euler(rotation)); if (isMain) { Vector3 rotation = Helpers.String2Vector(p.forward); _oldRotation = _newRotation; _newRotation = Helpers.Forward2Rotation(rotation); _isMain.SetActive(true); } else { _isMain.SetActive(false); } }
private void HandlePayload(object _, Listener.NewPayloadEventArgs e) { if (e.Payload.player.activity == "menu") { return; } if (_currentMap != e.Payload.map.name) { _currentMap = e.Payload.map.name; _mapGameObject.GetComponent<CurrentMap>().Changed(e.Payload.map.name); _players = new Dictionary<string, GameObject>(); foreach (GameObject p in GameObject.FindGameObjectsWithTag("Player")) { Destroy(p); } } if (e.Payload.allplayers == null) { return; } foreach (KeyValuePair<string, PayloadModels.Player> kv in e.Payload.allplayers) { PayloadModels.Player LoopPlayer = kv.Value; PayloadModels.Player MainPlayer = e.Payload.player; string LoopPlayerSteamID = kv.Key; bool SameTeam = LoopPlayer.team == MainPlayer.team; // Only draw the allplayers on the _same team_ as player. // If we have a loop player, that is not on the spec player's team if (_players.ContainsKey(LoopPlayerSteamID) && !SameTeam) { // @TODO: Display a death icon? Destroy(_players[LoopPlayerSteamID]); _ = _players.Remove(LoopPlayerSteamID); } if (!_players.ContainsKey(LoopPlayerSteamID) && SameTeam) { _players[LoopPlayerSteamID] = Instantiate(_playerGameObject); } if (_players.ContainsKey(LoopPlayerSteamID)) { _players[LoopPlayerSteamID].GetComponent<Player>().SetData(LoopPlayer, LoopPlayerSteamID == MainPlayer.steamid); } } }
private Sprite Sprite(PayloadModels.Player player) { return(player.team == "CT" ? _ctTexture : _tTexture); }