Beispiel #1
0
    public GuideCfg GetGuideCfg(int id)
    {
        GuideCfg agc = null;

        guideTaskDic.TryGetValue(id, out agc);

        return(agc);
    }
Beispiel #2
0
    public GuideCfg GetGuideCfg(int id)
    {
        GuideCfg agc = null;

        if (guideDic.TryGetValue(id, out agc))
        {
            return(agc);
        }
        return(null);
    }
Beispiel #3
0
    public GuideCfg GetGuideCfgData(int id)
    {
        GuideCfg agc = null;

        //Debug.Log(id);
        if (autoGuideDic.TryGetValue(id, out agc))
        {
            //Debug.Log(data);
            return(agc);
        }
        return(null);
    }
Beispiel #4
0
    public void ReqGuide(MsgPack pack)
    {
        ReqGuide data = pack.msg.reqGuide;

        GameMsg msg = new GameMsg
        {
            cmd = (int)CMD.RspGuide
        };

        PlayerData pd = cacheSvc.GetPlayerDataBySession(pack.session);
        GuideCfg   gc = cfgSvc.GetGuideCfg(data.guideid);

        // 更新引导ID
        if (pd.guideid == data.guideid)
        {
            // 检测是否是智者点拨任务
            if (pd.guideid == 1001)
            {
                TaskSys.Instance.CalcTaskPrgs(pd, 1);
            }


            pd.guideid += 1;

            // 更新玩家数据
            pd.coin += gc.coin;
            Common.CalcExp(pd, gc.exp);

            // 数据更新数据库
            if (cacheSvc.UpdatePlayerData(pd.id, pd) == false)
            {
                msg.err = (int)ErrorCode.UpdateDBError;
            }
            else
            {
                msg.rspGuide = new RspGuide
                {
                    guideid = pd.guideid,
                    coin    = pd.coin,
                    lv      = pd.lv,
                    exp     = pd.exp
                };
            }
        }
        else
        {
            msg.err = (int)ErrorCode.ServerDataError;
        }

        pack.session.SendMsg(msg);
    }
    private void InitGuideCfg()
    {
        XmlDocument doc = new XmlDocument();

        doc.Load(@"D:\Dragonfly\Documents\Unity Projects\DarkGod\Assets\Resources\ResCfgs\guide.xml");
        XmlNodeList nodList = doc.SelectSingleNode("root").ChildNodes;

        for (int i = 0; i < nodList.Count; i++)
        {
            XmlElement ele = nodList[i] as XmlElement;

            if (ele.GetAttributeNode("ID") == null)
            {
                continue;
            }
            int ID = Convert.ToInt32(ele.GetAttributeNode("ID").InnerText);

            GuideCfg agc = new GuideCfg()
            {
                ID = ID
            };

            foreach (XmlElement e in nodList[i].ChildNodes)
            {
                switch (e.Name)
                {
                //case "npcID":
                //    agc.npcID = int.Parse(e.InnerText);
                //    break;
                //case "dilogArr":
                //    agc.dilogArr = e.InnerText;
                //    break;
                //case "actID":
                //    agc.actID = int.Parse(e.InnerText);
                //    break;
                case "coin":
                    agc.coin = int.Parse(e.InnerText);
                    break;

                case "exp":
                    agc.exp = int.Parse(e.InnerText);
                    break;
                }
            }
            guideDic.Add(ID, agc);
        }
        PECommon.Log("GuideCfg Init Done.");
    }
Beispiel #6
0
        public void RequestGuide(MsgPack pack)
        {
            RequestGuide data   = pack.Msg.RequestGuide;
            NetMsg       netMsg = new NetMsg
            {
                cmd = (int)Command.RspGuide
            };
            PlayerData playerData = _cacheSvc.GetPlayerDataBySession(pack.Session);
            GuideCfg   guideCfg   = _resCfgSvc.GetGuideData(data.GuideId);

            //更新引导Id
            if (playerData.GuideId == data.GuideId)
            {
                if (playerData.GuideId == 1001)
                {
                    TaskSys.Instance.CalcTaskPrangs(playerData, 1);
                }
                playerData.GuideId += 1;

                //更新玩家数据
                playerData.Coin += guideCfg.Coin;
                PeRoot.CalcExp(playerData, guideCfg.Exp);
                if (!_cacheSvc.UpdatePlayerData(playerData.Id, playerData))
                {
                    netMsg.err = (int)ErrorCode.UpdateDbError;
                }
                else
                {
                    netMsg.ResponseGuide = new ResponseGuide
                    {
                        GuideId = playerData.GuideId,
                        Coin    = playerData.Coin,
                        Level   = playerData.Level,
                        Exp     = playerData.Exp,
                    };
                }
            }
            else
            {
                netMsg.err = (int)ErrorCode.ServerDataError;
            }
            pack.Session.SendMsg(netMsg);
        }
Beispiel #7
0
    private void InitGuideCfg(string path)
    {
        XmlDocument doc = new XmlDocument();

        doc.Load(path);

        XmlNodeList nodLst = doc.SelectSingleNode("root").ChildNodes;

        for (int i = 0; i < nodLst.Count; i++)
        {
            XmlElement ele = nodLst[i] as XmlElement;

            if (ele.GetAttributeNode("ID") == null)
            {
                continue;
            }

            int ID = Convert.ToInt32(ele.GetAttributeNode("ID").InnerText);

            GuideCfg agc = new GuideCfg
            {
                ID = ID
            };

            foreach (XmlElement e in nodLst[i].ChildNodes)
            {
                switch (e.Name)
                {
                case "coin":
                    agc.coin = int.Parse(e.InnerText);
                    break;

                case "exp":
                    agc.exp = int.Parse(e.InnerText);
                    break;
                }
            }

            guideTaskDic.Add(ID, agc);
        }

        Common.Log("Guide Cfg Init Done.");
    }
Beispiel #8
0
    public void ReqGuide(MsgPack pack)
    {
        ReqGuide   data = pack.gameMsg.val as ReqGuide;
        PlayerData pd   = cacheSvc.GetPlayerDataBySession(pack.session);
        GuideCfg   gc   = cfgSvc.GetGuideData(data.guideid);
        GameMsg    msg  = new GameMsg
        {
            cmd = (int)CMD.RspGuide
        };

        //更新引导ID
        if (pd.guideid == data.guideid)
        {
            if (pd.guideid == 1001)
            {
                TaskSys.Instance.CalcTaskPrgs(pd, 1);
            }

            pd.guideid++;
            pd.coin += gc.coin;
            Common.CalcExp(pd, gc.exp);
            if (!cacheSvc.UpdatePlayerData(pd.id, pd))
            {
                msg.err = (int)ErrorCode.UpdateDBError;
            }
            else
            {
                msg.val = new RspGuide
                {
                    guideid = pd.guideid,
                    coin    = pd.coin,
                    lv      = pd.lv,
                    exp     = pd.exp
                };
            }
        }
        else
        {
            msg.err = (int)ErrorCode.ServerDataError;
        }
        pack.session.SendMsg(msg);
    }
Beispiel #9
0
    public void ReqGuide(MsgPack pack)
    {
        ReqGuide data = (ReqGuide)pack.msg;

        SCPacketBase msg = new RspGuide();
        PlayerData   pd  = cacheSvc.GetPlayerDataBySession(pack.session);
        GuideCfg     gc  = cfgSvc.GetGuideCfg(data.Guideid);

        //更新引导ID
        if (pd.Guideid == data.Guideid)
        {
            //检测是否为智者点拔任务
            if (pd.Guideid == 1001)
            {
                TaskSys.Instance.CalcTaskPrgs(pd, 1);
            }
            pd.Guideid += 1;

            //更新玩家数据
            pd.Coin += gc.coin;
            KDCommon.CalcExp(pd, gc.exp);

            if (!cacheSvc.UpdatePlayerData(pd.Id, pd))
            {
                msg.error = (int)ErrorCode.UpdateDBError;
            }
            else
            {
                msg = new RspGuide {
                    Guideid = pd.Guideid,
                    Coin    = pd.Coin,
                    Lv      = pd.Lv,
                    Exp     = pd.Exp
                };
            }
        }
        else
        {
            msg.error = (int)ErrorCode.ServerDataError;
        }
        pack.session.SendMsg(msg);
    }
Beispiel #10
0
    private void InitGuideCfgData()
    {
        XmlDocument xmlDocument = new XmlDocument();

        xmlDocument.Load("D:\\UNITY\\DarkGod\\Assets\\Resources\\ResCfgs\\guide.xml");

        XmlNodeList xmlNodeList = xmlDocument.SelectSingleNode("root")?.ChildNodes;

        for (int i = 0; i < xmlNodeList?.Count; i++)
        {
            XmlElement xmlElement = xmlNodeList[i] as XmlElement;

            if (xmlElement?.GetAttributeNode("ID") == null)
            {
                continue;
            }

            int      id = Convert.ToInt32(xmlElement.GetAttributeNode("ID")?.InnerText);
            GuideCfg mc = new GuideCfg
            {
                Id = id
            };

            foreach (XmlElement e in xmlNodeList[i].ChildNodes)
            {
                switch (e.Name)
                {
                case "coin":
                    mc.Coin = int.Parse(e.InnerText);
                    break;

                case "exp":
                    mc.Exp = int.Parse(e.InnerText);
                    break;
                }
            }
            guideDictionary.Add(id, mc);
        }
        PeRoot.Log("GuideCfg Init Done.||引导任务数据配置.");
    }
Beispiel #11
0
    private void InitGuideCfg()
    {
        // 解析 xml 文件
        XmlDocument doc = new XmlDocument();

        //doc.Load(@"C:\guide.xml");
        doc.Load(@"G:\UnityDocuments\DarkGod\DarkGod\Assets\Resources\ResCfgs\guide.xml");

        XmlNodeList nodLst = doc.SelectSingleNode("root").ChildNodes;

        for (int i = 0; i < nodLst.Count; i++)
        {
            XmlElement ele = nodLst[i] as XmlElement;

            if (ele.GetAttributeNode("ID") == null)
            {
                continue;
            }
            int      ID = Convert.ToInt32(ele.GetAttributeNode("ID").InnerText);
            GuideCfg mc = new GuideCfg {
                id = ID
            };

            foreach (XmlElement e in nodLst[i].ChildNodes)
            {
                switch (e.Name)
                {
                case "coin":
                    mc.coin = int.Parse(e.InnerText);
                    break;

                case "exp":
                    mc.exp = int.Parse(e.InnerText);
                    break;
                }
            }
            guideDic.Add(ID, mc);
        }
        PECommon.Log("GuideCfg Init Done.");
    }
Beispiel #12
0
    public void ReqGuide(MsgPack pack)
    {
        ReqGuide data = pack.msg.reqGuide;
        GameMsg  msg  = new GameMsg
        {
            cmd = (int)CMD.RspGuide
        };
        PlayerData pd          = cacheSrv.GetPlayerDataBySession(pack.serverSession);
        GuideCfg   guideConfig = cfgSvc.GetGuideCfgData(pd.guideid);

        //更新引导ID
        if (pd.guideid == data.guidid)
        {
            pd.guideid += 1;
            //更新玩家数据
            pd.coin += guideConfig.coin;
            CalculateExp(pd, guideConfig.exp);
            if (!cacheSrv.UpdatePlayerData(pd.id, pd))
            {
                msg.err = (int)ErroroCode.UpdateDBError;
            }
            else
            {
                msg.rspGuide = new RspGuide
                {
                    coin    = pd.coin,
                    exp     = pd.exp,
                    lv      = pd.lv,
                    guideid = pd.guideid,
                };
            }
        }
        else//开挂了
        {
            msg.err = (int)ErroroCode.ServerDataError;
        }
        //发送数据
        pack.serverSession.SendMsg(msg);
    }
Beispiel #13
0
    private void InitGuideCfg()
    {
        XmlDocument doc = new XmlDocument();

        doc.Load(@"C:\GitHub\DarkGod\DarkGod\Assets\Resources\ResCfgs\guideCfg.xml");
        //选中子节点集合
        XmlNodeList nodList = doc.SelectSingleNode("root").ChildNodes;

        for (int i = 0; i < nodList.Count; i++)
        {
            XmlElement ele = nodList[i] as XmlElement;
            if (ele.GetAttributeNode("ID") == null)
            {    //不包含ID的节点,直接跳到下一个遍历,安全校验
                continue;
            }
            int      ID       = Convert.ToInt32(ele.GetAttributeNode("ID").InnerText);
            GuideCfg guideCfg = new GuideCfg();
            guideCfg.ID = ID;

            foreach (XmlElement element in nodList[i].ChildNodes)
            {
                switch (element.Name)
                {
                case "coin":
                    guideCfg.coin = int.Parse(element.InnerText);
                    break;

                case "exp":
                    guideCfg.exp = int.Parse(element.InnerText);
                    break;

                default:
                    break;
                }
            }
            autoGuideDic.Add(ID, guideCfg);
            //Debug.Log("ID:"+ID+"  mapCfg:"+mapCfg.ToString());
        }
    }
Beispiel #14
0
    private void InitGuideCfg()
    {
        XmlDocument doc = new XmlDocument();

        doc.Load(@"D:\WENJIAN\Unity\Projects\DarkGod\Client\Assets\Resources\ResCfgs\guide.xml");

        XmlNodeList nodLst = doc.SelectSingleNode("root").ChildNodes;

        for (int i = 0; i < nodLst.Count; i++)
        {
            XmlElement ele = nodLst[i] as XmlElement;

            if (ele.GetAttributeNode("ID") == null)
            {
                continue;
            }
            int      id = Convert.ToInt32(ele.GetAttributeNode("ID").InnerText);
            GuideCfg mc = new GuideCfg
            {
                ID = id
            };
            foreach (XmlElement e in nodLst[i].ChildNodes)
            {
                switch (e.Name)
                {
                case "coin":
                    mc.coin = int.Parse(e.InnerText);
                    break;

                case "exp":
                    mc.exp = int.Parse(e.InnerText);
                    break;
                }
            }
            guideDic.Add(id, mc);
        }
    }