Пример #1
0
        public async Task JoinGame()
        {
            var playerEid = await _world.NewEntityId();

            _player = GrainFactory.GetGrain <IPlayer>(_world.MakeEntityKey(playerEid));
            await _player.SetName(_name);

            await _player.BindToUser(this);

            await _world.AttachEntity(_player);

            _state              = UserState.JoinedGame;
            _keepAliveWaiters   = new HashSet <uint>();
            _sendKeepAliveTimer = RegisterTimer(OnSendKeepAliveRequests, null, TimeSpan.Zero, TimeSpan.FromSeconds(5));

            // _worldTimeSyncTimer = RegisterTimer(OnSyncWorldTime, null, TimeSpan.Zero, )
        }