Example #1
0
    public void applyRealMovement(Vector3 pos, Quaternion rot, long freim)
    {
        MovementMade m = null;

        while (true)
        {
            if (movements.Count == 0)
            {
                break;
            }

            m = movements.Values[0];
            if (m.serverOrder <= freim)
            {
                movements.RemoveAt(0);
            }
            else
            {
                break;
            }
        }
        this.lastKnownPosition  = pos;
        this.lastKnownFrame     = freim;
        this.transform.position = pos;
        //   print("CURRENT" + m.pos + " "+ freim);
        //   print("NEXT" + movements.Values[0].pos + " "+ movements.Values[0].serverOrder);
        //   print(this.movements.Count);
        //   this.ApplyAllMovements();
    }
Example #2
0
        private void Apply(MovementMade e)
        {
            _gameBoard[e.X][e.Y] = _playersTurn;

            if (GameHelper.CheckGameFinished(_gameBoard))
            {
                _gameFinished = true;
            }
            else
            {
                _playersTurn = (_playersTurn == 1) ? 2 : 1;
            }
        }
Example #3
0
        public async Task Handle(MovementMade message, CancellationToken token = new CancellationToken())
        {
            await _databaseService.UpdateGameBoardAsync(message.Id,
                                                        message.Version,
                                                        message.PlayerNumber,
                                                        message.X,
                                                        message.Y);


            var game = await _databaseService.GetGameByIdAsync(message.Id);

            if (GameHelper.CheckGameFinished(game))
            {
                await _databaseService.UpdateWinnerAsync(message.Id, message.Version, message.PlayerId);

                await _gameHub.Clients.Group(message.Id.ToString()).GameFinished(message.Id);
            }
            else
            {
                await _gameHub.Clients.Group(message.Id.ToString()).MovementMade(message.Id);
            }
        }