public static void Player_LV(CClientActionData Data) { LogMgr.DebugLog("[ClientAction.Player_LV]"); int PlayerLV = System.Convert.ToInt32(Data.m_Value); PlayerAttr.PlayerLV = PlayerLV; }
public static void Game_Money(CClientActionData Data) { LogMgr.DebugLog("[ClientAction.Game_Money]"); int GameMoney = System.Convert.ToInt32(Data.m_Value); PlayerAttr.GameMoney = GameMoney; }
public static void Game_Coin(CClientActionData Data) { LogMgr.DebugLog("[ClientAction.Game_Gem]"); int GameCoin = System.Convert.ToInt32(Data.m_Value); PlayerAttr.GameCoin = GameCoin; }
public static void Player_Name(CClientActionData Data) { LogMgr.DebugLog("[ClientAction.Player_Name]"); string PlayerName = Data.m_Value.ToString(); PlayerAttr.PlayerName = PlayerName; }
// Login public static void ToLogin(CClientActionData Data) { LogMgr.DebugLog("[ClientAction.ToLogin]"); // 先把 Login 面版關閉 GameUtility.HideUI(Const.Panel_Login); // 記錄帳號 (Memory) string Account = Data.m_dictProtocol["Account"].ToString(); PlayerAttr.Account = Account; // 記錄 AccountID int AccountID = System.Convert.ToInt32(Data.m_dictProtocol["AccountID"].ToString()); PlayerAttr.AccountID = AccountID; // 記錄 PlayerID int PlayerID = System.Convert.ToInt32(Data.m_dictProtocol["PlayerID"].ToString()); PlayerAttr.PlayerID = PlayerID; // 記錄 SessionKey string SessionKey = Data.m_dictProtocol["SessionKey"].ToString(); PlayerAttr.SessionKey = SessionKey; // 記錄密碼 ClientSaveMgr.SetString(Const.Input_Account, Account); ClientSaveMgr.SetString(Const.Input_Password, Data.m_dictProtocol["Password"].ToString()); // 拉出 Panel GameUtility.ShowUI(Const.Panel_Main); // 從網路要資料 ClientService.Player_GetAttr(); }
public static void RunClientAction(CClientActionData Data) { // 做轉換的動作 string MethodName = Data.m_CID.ToString(); // 取得 Reflection Type MyType = typeof(ClientAction); MethodInfo method = MyType.GetMethod(MethodName); if (method == null) { LogMgr.ErrorLog("[ClientAction.RunClientAction] Error!! Cannot found [{0}]", MethodName); return; } method.Invoke(null, BindingFlags.Public | BindingFlags.Static, Type.DefaultBinder, new object[] { Data }, null); }
// 計算數量 #endregion // 更新 public void Update() { // 處理 callback WebPost.ProcessCallback(); // 沒有 Client Action 不需要處理 if (m_ClientAction.Count == 0) { return; } // 取得要 Update 的資料 CClientActionData Data = ModifyClientAction(); if (Data == null) { return; } ClientAction.RunClientAction(Data); }
// 塞入一個 / 取出一個 static CClientActionData ModifyClientAction(CClientActionData Action = null) { m_MutexClientAction.WaitOne(); // 塞入一個 if (Action != null) { m_ClientAction.Add(Action); m_MutexClientAction.ReleaseMutex(); return(null); } // 取出一個 CClientActionData Data = null; if (m_ClientAction.Count > 0) { Data = m_ClientAction[0]; m_ClientAction.RemoveAt(0); } m_MutexClientAction.ReleaseMutex(); return(Data); }
// 創角行為 public static void ToNewPlayer(CClientActionData Data) { LogMgr.DebugLog("[ClientAction.ToNewPlayer]"); GameUtility.ShowMessageBox("還沒有創角流程, 請連絡開發者建立角色"); }
// 顯示 MessageBox public static void ShowMessage(CClientActionData Data) { LogMgr.DebugLog("[ClientAction.ShowMessage]"); GameUtility.ShowMessageBox(Data.m_Value.ToString()); }