private void OnReqBuy(UserToken token, SocketModel model) { ReqBuy req = SerializeUtil.Deserialize <ReqBuy>(model.message); AccountData acc = CacheManager.instance.GetAccount(token.accountid); ItemCfg cfg = ConfigManager.instance.items[req.itemid]; if (acc.diamond < cfg.Price) { TipsError tips = new TipsError(); tips.code = (int)ECode.EBuyError; NetworkManager.Send <TipsError>(token, (int)MsgID.TipError, tips); } else { acc.diamond -= cfg.Price; ItemData item = new ItemData(); item.account = token.accountid; item.itemid = req.itemid; item.count = 1; CacheManager.instance.AddItem(token.accountid, item); RspBuy rsp = new RspBuy(); rsp.diamond = acc.diamond; rsp.item = new ItemDTO(); rsp.item.id = item.Id; rsp.item.account = item.account; rsp.item.itemid = item.itemid; rsp.item.count = item.count; rsp.item.slot = item.slot; NetworkManager.Send <RspBuy>(token, (int)MsgID.RspBuy, rsp); } }
public void RspBuy(GameMsg msg) { RspBuy rspBuy = msg.rspBuy; GameRoot.instance.SetPlayerDataByBuy(rspBuy); buyWind.SetWindowState(false); maincityWind.RefreshUI(); }
public void ReqBuy(MsgPack pack) { ReqBuy data = pack.msg.reqBuy; GameMsg msg = new GameMsg { cmd = (int)CMD.RspBuy }; PlayerData playerData = cacheSvc.GetPlayerDataBySession(pack.session); if (playerData.diamond < data.cost) { msg.err = (int)ErrorCode.LackDiamond; } else { playerData.diamond -= data.cost; PshTaskPrgs pshTaskPrgs = null; switch (data.type) { case 0: playerData.power += 100; // 任务进度更新 pshTaskPrgs = TaskSys.Instance.GetCalcTaskPrgs(playerData, 4); break; case 1: playerData.coin += 1000; // 任务进度更新 pshTaskPrgs = TaskSys.Instance.GetCalcTaskPrgs(playerData, 5); break; } if (cacheSvc.UpdatePlayerData(playerData.id, playerData) == false) { msg.err = (int)ErrorCode.UpdateDBError; } else { RspBuy rspBuy = new RspBuy { type = data.type, diamond = playerData.diamond, coin = playerData.coin, power = playerData.power }; msg.rspBuy = rspBuy; // 并包处理 msg.pshTaskPrgs = pshTaskPrgs; } } pack.session.SendMsg(msg); }
private void OnRspBuy(SocketModel modle) { RspBuy rsp = SerializeUtil.Deserialize <RspBuy>(modle.message); CacheManager.instance.diamond = rsp.diamond; CacheManager.instance.items.Add(rsp.item); MessageBox.Show("购买成功"); }
public void RspBuy(GameMsg msg) { RspBuy data = msg.val as RspBuy; GameRoot.Instance.SetPlayerDataByBuy(data); GameRoot.AddTips("购买成功"); mainCityWnd.RefreshUI(); buyWnd.SetWndState(false); }
public void RspBuy(GameMsg msg) { RspBuy rspBuy = msg.rspBuy; GameRoot.Instance.SetPlayerDataByBuy(rspBuy); GameRoot.AddTips("购买成功"); mainCityWnd.RefreshUI(); buyWnd.btnSure.interactable = true; buyWnd.SetWndState(false); }
public void ReqBuy(MsgPack pack) { ReqBuy data = (ReqBuy)pack.msg; RspBuy msg = new RspBuy(); PlayerData pd = cacheSvc.GetPlayerDataBySession(pack.session); if (pd.Diamond < data.Cost) { msg.error = (int)ErrorCode.LackDiamond; } else { pd.Diamond -= data.Cost; PshTaskPrgs pshTaskPrgs = null; switch (data.Type) { case 0: pd.Power += 100; //任务进度数据更新 pshTaskPrgs = TaskSys.Instance.GetTaskPrgs(pd, 4); break; case 1: pd.Coin += 1000; //任务进度数据更新 pshTaskPrgs = TaskSys.Instance.GetTaskPrgs(pd, 5); break; } if (!cacheSvc.UpdatePlayerData(pd.Id, pd)) { msg.error = (int)ErrorCode.UpdateDBError; } else { RspBuy rspBuy = new RspBuy { Type = data.Type, Dimond = pd.Diamond, Coin = pd.Coin, Power = pd.Power }; msg = rspBuy; //并包处理 //msg.pshTaskPrgs = pshTaskPrgs; if (pshTaskPrgs != null) { pack.session.SendMsg(pshTaskPrgs); } } } pack.session.SendMsg(msg); }
public void RspBuy(GameMsg msg) { RspBuy data = msg.rspBuy; GameRoot.Instance.SetPlayerDataByBuy(data); mainCityWindow.RefreshUI(); buyWindow.SetWindowState(false); GameRoot.AddTips("购买成功"); if (msg.pshTaskPrgs != null) { PshTaskPrgs(msg); } }
public void ReqBuy(MsgPack pack) { ReqBuy data = pack.msg.reqBuy; GameMsg msg = new GameMsg { cmd = (int)CMD.RspBuy }; PlayerData pd = cacheSvc.GetPlayerDataBySession(pack.session); if (pd.diamond < data.cost) { msg.err = (int)ErrorCode.LackDiamond; } else { pd.diamond -= data.cost; PshTaskPrgs pshTaskPrgs = null; switch (data.type) { case 0: pd.power += 100; //TaskSys.Instance.GetTaskPrgs(pd, 4); // 不让他发送了,网络并包流量优化 pshTaskPrgs = TaskSys.Instance.GetTaskPrgs(pd, 4); // 任务进度数据更新 break; case 1: pd.coin += 1000; pshTaskPrgs = TaskSys.Instance.GetTaskPrgs(pd, 5); // 任务进度数据更新 break; } if (!cacheSvc.UpdatePlayerData(pd.id, pd)) { msg.err = (int)ErrorCode.UpdateDBError; } else { RspBuy rspBuy = new RspBuy { type = data.type, dimond = pd.diamond, coin = pd.coin, power = pd.power }; msg.rspBuy = rspBuy; // 并包处理 msg.pshTaskPrgs = pshTaskPrgs; } } pack.session.SendMsg(msg); // 发送的就是合并后的两个包 }
public void RspBuy(GameMsg msg) { RspBuy rspBuy = msg.rspBuy; GameRoot.Instance.SetPlayerDataByBuy(rspBuy); GameRoot.AddTips("购买成功"); mainCityWnd.RefreshUI(); buyWnd.SetWndState(false); // 检查是否存在 推送任务进度的响应 if (msg.pshTaskPrgs != null) { GameRoot.Instance.SetPlayerDataByTaskPsh(msg.pshTaskPrgs); if (taskWnd.GetWndState()) { taskWnd.RefreshUI(); } } }
private void RspBuy(object sender, GameEventArgs e) { OnReceiveSCPacketBaseEventArgs ne = e as OnReceiveSCPacketBaseEventArgs; if (ne.msgID != CMD.RspBuy) { return; } RspBuy rspBuy = (RspBuy)ne.scPacketBase; PECommon.SetPlayerDataByBuy(rspBuy); GameEntry.UI.AddTips("购买成功"); OnRefreshUIFormEventArgs eventArgs = ReferencePool.Acquire <OnRefreshUIFormEventArgs>(); eventArgs.Fill(UIFormId.MainCityForm); GameEntry.Event.Fire(this, eventArgs); GameEntry.UI.CloseUIForm(UIFormId.BuyForm); }
public void SetPlayerDataByBuy(RspBuy data) { PlayerData.diamond = data.dimond; PlayerData.coin = data.coin; PlayerData.power = data.power; }
/// <summary> /// 根据交易数据更新玩家数据 /// </summary> public void UpdataPlayerDataByBuy(RspBuy rspBuy) { playerDate.power = rspBuy.power; playerDate.coin = rspBuy.coin; playerDate.diamond = rspBuy.diamond; }
public static void SetPlayerDataByBuy(RspBuy data) { PlayerData.Diamond = data.Dimond; PlayerData.Coin = data.Coin; PlayerData.Power = data.Power; }