public CfgGuide GetGuideCfg(int id) { CfgGuide cfg = null; guideDic.TryGetValue(id, out cfg); return(cfg); }
protected override void InitWnd(object[] args = null) { base.InitWnd(args); playerData = mGameRoot.GetPlayerData(); if (playerData != null) { curGuideData = mCfgSvc.GetCfgGuide(playerData.GuideID); } UpdateData(); }
private void InitGuideCfg() { XmlDocument xmlDoc = new XmlDocument(); string inHaoXinStr = @"G:\Homework\DarkGod\Assets\Resources\Configs\guide.xml"; string inHomeStr = @"E:\UnityPorjects\DarkGod\Assets\Resources\Configs\guide.xml"; xmlDoc.Load(inHaoXinStr); XmlNodeList nodeList = xmlDoc.SelectSingleNode("root").ChildNodes; for (int i = 0; i < nodeList.Count; i++) { XmlElement ele = nodeList[i] as XmlElement; if (ele.GetAttribute("ID") == null) { continue; } int ID = Convert.ToInt32(ele.GetAttribute("ID")); CfgGuide cfg = new CfgGuide(); cfg.ID = ID; foreach (XmlElement subEle in nodeList[i].ChildNodes) { string str = subEle.Name; switch (str) { case "npcID": cfg.npcID = int.Parse(subEle.InnerText); break; case "actID": cfg.actID = int.Parse(subEle.InnerText); break; case "coin": cfg.coin = int.Parse(subEle.InnerText); break; case "exp": cfg.exp = int.Parse(subEle.InnerText); break; } } guideDic.Add(ID, cfg); } }
public void UpdateData(PlayerData data) { if (data != null && hadGetComponent) { //更新角色属性的显示 SetText(txtName, data.Name); SetText(txtFight, PECommonTool.GetFight(data)); SetText(txtPower, string.Format(Language.GetString(5), data.Power, PECommonTool.GetPowerLimit(data.Level))); SetText(txtLevel, data.Level); float percent = (float)data.Experience / PECommonTool.GetExpUpvalue(data.Level); SetText(txtExpPercent, Mathf.CeilToInt(percent * 100) + "%"); imgExpFill.fillAmount = percent; //更新引导数据 curGuideData = mCfgSvc.GetCfgGuide(data.GuideID); UpateGuideData(); } }
public void HandleReqGuide(MsgPack pack) { ReqGuide reqData = pack.msg.ReqGuide; NetMsg newMsg = new NetMsg { cmd = (int)MsgType.RspGuide, }; PlayerData pd = CacheSvc.Instance.GetPlayerDataBySession(pack.session); if (pd == null || pd.GuideID != reqData.guideId) { //数据异常 newMsg.err = (int)ErrorCode.ServerDataError; } else { CfgGuide cfg = CfgSvc.Instance.GetGuideCfg(reqData.guideId); if (cfg != null) { //更新数据(缓存和数据库) pd.GuideID += 1; PECommonTool.AddExp(ref pd, cfg.exp); //更新到数据库 todo if (!CacheSvc.Instance.UpdatePlayerDataToDB(pd.ID, pd)) { newMsg.err = (int)ErrorCode.UpdateDBFailed; } else { newMsg.RspGuide = new RspGuide { guideId = pd.GuideID, data = pd, }; } } } pack.session.SendMsg(newMsg); }