public CfgMap GetCfgMap(int mapID) { CfgMap cfg = null; mapCfgDic.TryGetValue(mapID, out cfg); return(cfg); }
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); }); }
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(); }
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); }
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); }
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); } }