Example #1
0
 internal bool EnterRoom(tagGameServer Server, tagGameKind Kind)
 {
     if (FindByServerID(Server.wServerID) != null)
         return false;
     Room room = new Room(Server, Kind);
     mRoomList.Add(room);
     TaskExecute execute = new TaskExecute();
     execute.Push(new GameLoginTask(room));
     execute.Push(new WaitRoomCloseTask(room));
     execute.Execute(delegate(TASK_EVENT ev, BaseTask task)
     {
         DebugKit.Log("KL", "RoomManager.EnterRoom: " + ev.ToString());
         switch (ev)
         {
             case TASK_EVENT.TASK_COMPLETE:
                 {
                     if (OnRoomEvent != null)
                     {
                         OnRoomEvent(new RoomEvent(room,ENUM_ROOM_EVENT.SHOW_ERROR));
                         room.Dispose();
                     }
                 }
                 break;
             case TASK_EVENT.TASK_FINISH:
                 {
                     if(task.Name == typeof(GameLoginTask).ToString())
                     {
                         if (OnRoomEvent != null)
                             OnRoomEvent(new RoomEvent(room, ENUM_ROOM_EVENT.SHOW_ROOM));
                     }
                 }
                 break;
             case TASK_EVENT.TASK_EXECUTE:
                 break;
             case TASK_EVENT.TASK_CANCEL:
                 {
                     OnRoomEvent(new RoomEvent(room, ENUM_ROOM_EVENT.SHOW_ERROR, task.Message));
                     room.Dispose();
                 }
                 break;
         }
     });
     return true;
 }
Example #2
0
 public void Login(string pwdBank)
 {
     TaskExecute execute = new TaskExecute();
     if (!skSocketHdr.IsValid())
         execute.Push(new HallConnectTask(skSocketHdr, UserCenter.Instance.LoginAddress, UserCenter.Instance.LoginPort));
     execute.Push(new BankLoginTask(skSocketHdr, pwdBank));
     execute.Execute(delegate(TASK_EVENT ev, BaseTask task)
     {
         if (TASK_EVENT.TASK_COMPLETE == ev)
         {
             if (OnBankEvent != null)
                 OnBankEvent(new BankEvent(true, ENUM_BANK_EVENT.BANK_LOGIN_EVENT));
         }
         if (TASK_EVENT.TASK_CANCEL == ev)
         {
             if (OnBankEvent != null)
                 OnBankEvent(new BankEvent(false, ENUM_BANK_EVENT.BANK_LOGIN_EVENT, task.Message));
         }
     });
 }
Example #3
0
 public void Login(string strAccount, string strPwd,ushort[] gameKinds = null)
 {
     TaskExecute execute = new TaskExecute();
     if (!skHall.IsValid())
         execute.Push(new HallConnectTask(skHall,"127.0.0.1", 7701));
     execute.Push(new HallLoginTask(skHall,strAccount, strPwd));
     execute.Push(new HallGetServerTask(skHall,gameKinds));
     execute.Execute(delegate(TASK_EVENT ev, BaseTask task)
     {
         if (TASK_EVENT.TASK_COMPLETE == ev)
         {
             if (OnLoginEvent != null)
                 OnLoginEvent(ENUM_LOGIN_EVENT.LOGIN_SUCCESS,"OOXX上吧");
             DebugKit.Log("Execute CallBack: " + ev.ToString());
         }
         if (TASK_EVENT.TASK_CANCEL == ev)
         {
             if (OnLoginEvent != null)
                 OnLoginEvent(ENUM_LOGIN_EVENT.LOGIN_FAIL, task.Message);
             DebugKit.Log("Execute CallBack: " + ev.ToString());
         }
     });
 }
Example #4
0
 public void QueryUserInfo(string nickName)
 {
     TaskExecute execute = new TaskExecute();
     if (!skSocketHdr.IsValid())
         execute.Push(new HallConnectTask(skSocketHdr, UserCenter.Instance.LoginAddress, UserCenter.Instance.LoginPort));
     execute.Push(new QueryUserInfoTask(skSocketHdr, nickName, false));
     execute.Execute(delegate(TASK_EVENT ev, BaseTask task)
     {
         if (TASK_EVENT.TASK_COMPLETE == ev)
         {
             if (OnBankEvent != null)
                 OnBankEvent(new BankEvent(true, ENUM_BANK_EVENT.QUERY_USER_INFO_EVENT));
         }
         if (TASK_EVENT.TASK_CANCEL == ev)
         {
             if (OnBankEvent != null)
                 OnBankEvent(new BankEvent(false, ENUM_BANK_EVENT.QUERY_USER_INFO_EVENT, task.Message));
         }
     });
 }
Example #5
0
 public void ModifyInsurePass(string oldPassword, string newPassword)
 {
     TaskExecute execute = new TaskExecute();
     if (!skSocketHdr.IsValid())
         execute.Push(new HallConnectTask(skSocketHdr, UserCenter.Instance.LoginAddress, UserCenter.Instance.LoginPort));
     execute.Push(new ModifyInsurePassTask(skSocketHdr, oldPassword, newPassword));
     execute.Execute(delegate(TASK_EVENT ev, BaseTask task)
     {
         if (TASK_EVENT.TASK_COMPLETE == ev)
         {
             if (OnBankEvent != null)
                 OnBankEvent(new BankEvent(true, ENUM_BANK_EVENT.MODIFY_INSUREPASS_EVENT));
         }
         if (TASK_EVENT.TASK_CANCEL == ev)
         {
             if (OnBankEvent != null)
                 OnBankEvent(new BankEvent(false, ENUM_BANK_EVENT.MODIFY_INSUREPASS_EVENT, task.Message));
         }
     });
 }
Example #6
0
 public void TransferScore(long score, string nickName, bool isNickname)
 {
     TaskExecute execute = new TaskExecute();
     if (!skSocketHdr.IsValid())
         execute.Push(new HallConnectTask(skSocketHdr, UserCenter.Instance.LoginAddress, UserCenter.Instance.LoginPort));
     execute.Push(new TransScoreTask(skSocketHdr, score, nickName, isNickname));
     execute.Execute(delegate(TASK_EVENT ev, BaseTask task)
     {
         if (TASK_EVENT.TASK_COMPLETE == ev)
         {
             this.mUserInsure = ((TransScoreTask)task).UserInsure;
             this.mUserScore = ((TransScoreTask)task).UserScore;
             if (OnBankEvent != null)
                 OnBankEvent(new BankEvent(true, ENUM_BANK_EVENT.TRANSFER_SCORE_EVENT));
         }
         if (TASK_EVENT.TASK_CANCEL == ev)
         {
             if (OnBankEvent != null)
                 OnBankEvent(new BankEvent(false, ENUM_BANK_EVENT.TRANSFER_SCORE_EVENT, task.Message));
         }
     });
 }
Example #7
0
 public void TakeScore(long score, ushort gameKindID)
 {
     TaskExecute execute = new TaskExecute();
     if (!skSocketHdr.IsValid())
         execute.Push(new HallConnectTask(skSocketHdr, UserCenter.Instance.LoginAddress, UserCenter.Instance.LoginPort));
     execute.Push(new TakeScoreTask(skSocketHdr, score, gameKindID));
     execute.Execute(delegate(TASK_EVENT ev, BaseTask task)
     {
         if (TASK_EVENT.TASK_COMPLETE == ev)
         {
             this.mUserInsure = ((TakeScoreTask)task).UserInsure;
             this.mUserScore = ((TakeScoreTask)task).UserScore;
             if (OnBankEvent != null)
                 OnBankEvent(new BankEvent(true, ENUM_BANK_EVENT.TAKE_SCORE_EVENT));
         }
         if (TASK_EVENT.TASK_CANCEL == ev)
         {
             if (OnBankEvent != null)
                 OnBankEvent(new BankEvent(false, ENUM_BANK_EVENT.TAKE_SCORE_EVENT, task.Message));
         }
     });
 }
Example #8
0
 public void QueryTransferRecord()
 {
     TaskExecute execute = new TaskExecute();
     if (!skSocketHdr.IsValid())
         execute.Push(new HallConnectTask(skSocketHdr, UserCenter.Instance.LoginAddress, UserCenter.Instance.LoginPort));
     execute.Push(new QueryTransferRecordTask(skSocketHdr));
     execute.Execute(delegate(TASK_EVENT ev, BaseTask task)
     {
         if (TASK_EVENT.TASK_COMPLETE == ev)
         {
             foreach (var item in ((QueryTransferRecordTask)task).transferRecordDict)
                 this.transferRecordDict[item.Key] = item.Value;
             if (OnBankEvent != null)
                 OnBankEvent(new BankEvent(true, ENUM_BANK_EVENT.QUERY_TRANSFER_RECORD_EVENT));
         }
         if (TASK_EVENT.TASK_CANCEL == ev)
         {
             if (OnBankEvent != null)
                 OnBankEvent(new BankEvent(false, ENUM_BANK_EVENT.QUERY_TRANSFER_RECORD_EVENT, task.Message));
         }
     });
 }