Exemple #1
0
        //用户登录游戏
        public void Login(string userName)
        {
            OperationContext      context  = OperationContext.Current;
            IChessServiceCallback callback = context.GetCallbackChannel <IChessServiceCallback>();
            User user = new User(userName, callback);

            UserList.Users.Add(user);
            callback.ShowLogin(UserList.maxRooms);
            //发送房间信息
            SendRoomsInfoToAllUsers();
        }
Exemple #2
0
        /// <inheritdoc/>
        public void Ready(string sessionId, IChessServiceCallback callback)
        {
            lock (_queueSyncObj)
            {
                var player = _playersQueue.FirstOrDefault(p => p.SessionId == sessionId);
                if (player == null)
                {
                    throw new FaultException <SessionNotFoundedException>(new SessionNotFoundedException());
                }

                Player.SetCallback(player, callback);
                Player.SetActive(player);
                Player.SetIsReady(player);
            }
        }
Exemple #3
0
 /// <summary>
 /// Set callback function.
 /// </summary>
 /// <param name="player"><see cref="Player"/> instance.</param>
 /// <param name="callback">Callback interface.</param>
 internal static void SetCallback(Player player, IChessServiceCallback callback)
 {
     player.Callback = callback;
 }
Exemple #4
0
 public User(string userName, IChessServiceCallback callback)
 {
     this.UserName = userName;
     this.callback = callback;
 }