Ejemplo n.º 1
0
    public CfgGuide GetGuideCfg(int id)
    {
        CfgGuide cfg = null;

        guideDic.TryGetValue(id, out cfg);
        return(cfg);
    }
Ejemplo n.º 2
0
    protected override void InitWnd(object[] args = null)
    {
        base.InitWnd(args);
        playerData = mGameRoot.GetPlayerData();
        if (playerData != null)
        {
            curGuideData = mCfgSvc.GetCfgGuide(playerData.GuideID);
        }

        UpdateData();
    }
Ejemplo n.º 3
0
    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);
        }
    }
Ejemplo n.º 4
0
    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();
        }
    }
Ejemplo n.º 5
0
    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);
    }