public void AddCharacter(string connId) { if (_characters.Count >= 2) { // Recusa de usuário caso já existam 2 jogadores ativos _hubContext.Clients.Client(connId).OverLimit(); return; } var _pos = new Character { Type = _characters.Any(c => c.Value.Type != "hero") ? "hero" : "monster", x = 0, y = 0 }; _characters.Add(connId, _pos); // Informando ao cliente o personagem que controlará. _hubContext.Clients.Client(connId).DefineCharacter(_pos.Type, _characters.Count == 2); // Exibir inimigo caso tenha conectado. if (_characters.Count == 2) _hubContext.Clients.AllExcept(connId).ShowEnemy(); _caught = 0; }
public void UpdatePosition(string connId, Character position) { if (!_characters.ContainsKey(connId)) return; var character = _characters[connId]; character.x = position.x; character.y = position.y; character.Updated = true; if (_characters.Count == 2) VerifyCatch(); }
public void UpdatePosition(Character position) { // informando ao controlador de broadcast uma atualização de posição _broadcaster.UpdatePosition(Context.ConnectionId, position); }