Пример #1
0
    public CfgMap GetCfgMap(int mapID)
    {
        CfgMap cfg = null;

        mapCfgDic.TryGetValue(mapID, out cfg);
        return(cfg);
    }
Пример #2
0
    public void Init(int mapId)
    {
        mResSvc   = ResSvc.Instance;
        mAudioSvc = AudioSvc.Instance;
        mCfgSvc   = CfgSvc.Instance;

        mSkillMgr = gameObject.AddComponent <SkillMgr>();
        mSkillMgr.Init();
        mStateMgr = gameObject.AddComponent <StateMgr>();
        mStateMgr.Init();


        mAudioSvc.PlayBgAudio(Constant.Audio_BgHuangYe);

        CfgMap cfg = mCfgSvc.GetCfgMap(mapId);

        if (cfg == null)
        {
            Debug.LogError("╪сть╣ьм╪й╖╟э:  " + mapId);
            return;
        }

        mResSvc.AsyncLoadScene(cfg.sceneName, () =>
        {
            GameObject mapGo = GameObject.FindGameObjectWithTag("MapRoot");

            mMapMgr = mapGo.AddComponent <MapMgr>();
            mMapMgr.Init();
            InitScene(cfg);
        });
    }
Пример #3
0
    private void InitScene(CfgMap cfg)
    {
        Camera.main.transform.position    = cfg.mainCamPos;
        Camera.main.transform.eulerAngles = cfg.mainCamRote;

        GameObject playerGo = new GameObject();

        playerGo.transform.position    = cfg.playerBornPos;
        playerGo.transform.eulerAngles = cfg.playerBornRote;
        playerGo = mResSvc.GetInstantiateGo(PathDefine.PlayerAssassin, true, playerGo.transform);

        BattleSys.Instance.OpenPlayerCtrlWnd();
    }
Пример #4
0
    public void HandleReqFuBen(MsgPack pack)
    {
        ReqFuBen reqData = pack.msg.ReqFuBen;

        NetMsg newMsg = new NetMsg
        {
            cmd = (int)MsgType.RspFuBen
        };
        PlayerData pd  = CacheSvc.Instance.GetPlayerDataBySession(pack.session);
        CfgMap     cfg = CfgSvc.Instance.GetCfgMap(reqData.fubenID);

        if (pd.FuBenId < reqData.fubenID)
        {
            newMsg.err = (int)ErrorCode.ClientDataError;
        }
        if (cfg != null)
        {
            if (pd.Power < cfg.power)
            {
                newMsg.err = (int)ErrorCode.LackPower;
            }
            else
            {
                pd.Power -= cfg.power;
                if (CacheSvc.Instance.UpdatePlayerDataToDB(pd.ID, pd))
                {
                    newMsg.RspFuBen = new RspFuBen
                    {
                        fubenID = reqData.fubenID,
                        pd      = pd,
                    };
                }
                else
                {
                    newMsg.err = (int)ErrorCode.UpdateDBFailed;
                }
            }
        }
        else
        {
            newMsg.err = (int)ErrorCode.GetCfgError;
        }

        pack.session.SendMsg(newMsg);
    }
Пример #5
0
    private void OnBtnTaskClick(string name)
    {
        int idx = int.Parse(name.Substring(7, 1));

        idx += 10000;
        CfgMap cfg = mCfgSvc.GetCfgMap(idx);

        if (cfg == null)
        {
            Debug.LogError("获取地图配置失败:   " + idx);
            return;
        }
        if (pd.Power < cfg.power)
        {
            mGameRoot.AddTips("体力不足");
            return;
        }

        FuBenSys.Instance.ReqFuBen(idx);
    }
Пример #6
0
    private void InitMapCfg()
    {
        XmlDocument xmlDoc      = new XmlDocument();
        string      inHaoXinStr = @"G:\Homework\DarkGod\Assets\Resources\Configs\map_v1.xml";
        string      inHomeStr   = @"E:\UnityPorjects\DarkGod\Assets\Resources\Configs\map_v1.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"));

            CfgMap cfg = new CfgMap
            {
                ID = ID,
            };

            foreach (XmlElement subEle in nodeList[i].ChildNodes)
            {
                string str = subEle.Name;
                switch (str)
                {
                case "Power":
                    cfg.power = int.Parse(subEle.InnerText);
                    break;
                }
            }
            mapCfgDic.Add(cfg.ID, cfg);
        }
    }