Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
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();
        }
Exemplo n.º 3
0
 public void UpdatePosition(Character position)
 {
     // informando ao controlador de broadcast uma atualização de posição
     _broadcaster.UpdatePosition(Context.ConnectionId, position);
 }