public void RefreshWinInfo(int fbid, int costTime, int restHp) { MapCfg mapCfg = resSvc.GetMapCfg(fbid); txtReward.text = "关卡奖励:" + mapCfg.exp + "经验 " + mapCfg.coin + "金币 " + mapCfg.crystal + "水晶"; txtRestHp.text = "剩余血量:" + restHp; int second = costTime / 1000; int min = second / 60; second = second % 60; if (min >= 10) { txtTime.text = "通关时间:" + min + ":"; } else { txtTime.text = "通关时间:0" + min + ":"; } if (second >= 10) { txtTime.text += second; } else { txtTime.text += "0" + second; } }
/// <summary> /// 进入主城 /// </summary> public void EnterMainCity() { MapCfg mapData = resSvc.GetMapCfgData(Constants.MainCityMapID); resSvc.AsyncLoadScene(mapData.sceneName, () => { PECommon.Log("Enter MainCity..."); //TODO加载主角 LoadPlayer(mapData); //打开主城UI mainCityWnd.SetWndState(true); // mainCityWnd.RefreshUI(); //播放主城音乐 audioSvc.PlayBGMusic(Constants.MainCityBgm); //TODO 设置人物相机 if (charshowTran != null) { charshowTran.gameObject.SetActive(false); } GameObject map = GameObject.FindGameObjectWithTag("MapRoot"); MainCityNPC mcm = map.GetComponent <MainCityNPC>(); npcPosTrans = mcm.npcPos; }); }
private void OnEnterMainCity() { NETCommon.Log("Enter MainCity..."); // 打开主城场景UI mainCityWindow.SetWindowState(); // 播放主城背景音乐 audioSev.PlayBGM(Constans.MainCityBGM); GameObject map = GameObject.FindGameObjectWithTag("MapRoot"); MainCityMap cityMap = map.GetComponent <MainCityMap>(); npcPosTrans = cityMap.NPCPosTrans; MapCfg mapData = resSev.GetMapCfgData(Constans.MainCityID); // 加载游戏主角 LoadPlayer(mapData); // 设置角色展示相机 if (charShowCamTrans != null) { charShowCamTrans.gameObject.SetActive(false); } }
public void IntoCombat(int combat, string scenesName, int mapId) { //进入副本 mGameWin.SkillCDInit(); mGameWin.HideOnOff(0); mCustomsPassWin.isShow(false); RoleHp = mCurrentRole.hp; mGameWin.SetRoleHp(1, RoleHp); ResSvc.intance.AsyncLoadScene(scenesName, () => { SceneName = scenesName; mGameWin.ShowRoleHp(true); mGameWin.HideOnOff(); //加载游戏主角 MapCfg mapData = ResSvc.intance.GetMapData(mapId); SceneCombarId = mapId; MainGameSys.instance.LoadPlayer(mapData, MainGameSys.instance.mCurrentRole.profession); mGameWin.CombatState(); mPlayerCont.AnimCombat(); isCity = false; CombatSys.instance.isCombat = true; //切换BGM AudioSvc.instance.PlayBgClip(GameConstant.忍龙BGM, true, 1); //发送消息通知服务器进入副本了 CombatSys.instance.IntoCombat(combat); string data = string.Format("{0},{1},", GameRoot.instance.mUser.id.ToString(), ((int)mCurrentRole.profession).ToString()); NetSvc.instance.SendSys(GameSys.步, MethodController.JoinCombart, data); }); }
private void InitMapCfg(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); MapCfg mc = new MapCfg { ID = ID }; foreach (XmlElement e in nodLst[i].ChildNodes) { switch (e.Name) { case "power": mc.power = int.Parse(e.InnerText); break; } } mapDic.Add(ID, mc); } PECommon.Log("MapCfg Init Done."); }
//加载玩家 private void LoadPlayer(MapCfg mapData) { GameObject player = resSvc.LoadPrefab(PathDefine.AssassinBattlePlayerPrefab); player.transform.position = mapData.playerBornPos; player.transform.localEulerAngles = mapData.playerBornRote; player.transform.localScale = Vector3.one; PlayerController playerCtrl = player.GetComponent <PlayerController>(); playerCtrl.Init(); PlayerData pd = GameRoot.instance.playerData; BattleProps props = new BattleProps() { hp = pd.hp, ad = pd.ad, ap = pd.ap, addef = pd.addef, apdef = pd.apdef, dodge = pd.dodge, pierce = pd.pierce, critical = pd.critical, }; //生成角色赋予 状态管理器 entityPlayer = new EntityPlayer(); entityPlayer.SetBattleProps(props); entityPlayer.SetBattleMgr(this); //添加战斗管理器 entityPlayer.SetStateMgr(this.stateMgr); //添加状态管理器 entityPlayer.SetSkillMgr(this.skillMgr); //添加技能管理器 entityPlayer.SetController(playerCtrl); //添加角色控制器 entityPlayer.Idle(); }
private void RefreshUI() { switch (endType) { case FBEndType.Pause: SetActive(rewardTrans, false); SetActive(btnExit, true); SetActive(btnClose, true); break; case FBEndType.Win: SetActive(rewardTrans, false); SetActive(btnExit, false); SetActive(btnClose, false); MapCfg cfg = resSvc.GetMapCfgData(fbid); int min = costtime / 60; int sec = costtime % 60; int coin = cfg.coin; int exp = cfg.exp; int crystal = cfg.crystal; SetText(txtTime, "通关时间:" + min + ":" + sec); SetText(txtRestHP, "剩余血量:" + resthp); SetText(txtReward, "关卡奖励:" + Constants.Color(coin + "金币", TxtColor.Green) + Constants.Color(exp + "经验", TxtColor.Yellow) + Constants.Color(crystal + "水晶", TxtColor.Blue)); timerSvc.AddTimeTask((int tid) => { SetActive(rewardTrans, true); ani.Play(); timerSvc.AddTimeTask((int tid1) => { audioSvc.PlayUIAudio(Constants.FBItemEnter); timerSvc.AddTimeTask((int tid2) => { audioSvc.PlayUIAudio(Constants.FBItemEnter); timerSvc.AddTimeTask((int tid3) => { audioSvc.PlayUIAudio(Constants.FBItemEnter); timerSvc.AddTimeTask((int tid4) => { audioSvc.PlayUIAudio(Constants.FBLogoEnter); }, 300); }, 270); }, 270); }, 325); }, 1000); break; case FBEndType.Lose: SetActive(rewardTrans, false); SetActive(btnExit, true); SetActive(btnClose, false); audioSvc.PlayUIAudio(Constants.FBLose); break; } }
private void LoadPlayer(MapCfg mapData) { GameObject player = resSvc.LoadPrefab(PathDefine.AssissnBattlePlayerPrefab); player.transform.position = mapData.playerBornPos; player.transform.localEulerAngles = mapData.playerBornRote; player.transform.localScale = Vector3.one; PlayerData pd = GameRoot.Instance.PlayerData; BattleProps props = new BattleProps { hp = pd.hp, ad = pd.ad, ap = pd.ap, addef = pd.addef, apdef = pd.apdef, dodge = pd.dodge, pierce = pd.pierce, critical = pd.critical }; entitySelfPlayer = new EntityPlayer { battleMgr = this, stateMgr = stateMgr, skillMgr = skillMgr }; entitySelfPlayer.Name = "AssassinBattle"; entitySelfPlayer.SetBattleProps(props); PlayerController playerCtrl = player.GetComponent <PlayerController>(); playerCtrl.Init(); entitySelfPlayer.SetCtrl(playerCtrl); }
private void InitMapCfg() { XmlDocument doc = new XmlDocument(); doc.Load(@"D:\WENJIAN\Unity\Projects\DarkGod\Client\Assets\Resources\ResCfgs\map.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); MapCfg mc = new MapCfg { ID = id }; foreach (XmlElement e in nodLst[i].ChildNodes) { switch (e.Name) { case "power": mc.power = int.Parse(e.InnerText); break; } } mapDic.Add(id, mc); } }
public void EnterMainCity() { MapCfg mapData = resSvc.GetMapCfg(Constants.MainCityMapID); resSvc.AsyncLoadScene(mapData.sceneName, () => { PECommon.Log("Enter MainCity..."); // 加载游戏主角 LoadPlayer(mapData); //打开主城场景UI maincityWnd.SetWndState(); //播放主城背景音乐 audioSvc.PlayBGMusic(Constants.BGMainCity); GameObject map = GameObject.FindGameObjectWithTag("MapRoot"); MainCityMap mcm = map.GetComponent <MainCityMap>(); npcPosTrans = mcm.NpcPosTrans; //设置人物展示相机 if (charCamTrans != null) { charCamTrans.gameObject.SetActive(false); } }); }
/// <summary> /// 进入主城 /// </summary> public void EnterMainCity() { MapCfg mapData = resSvc.GetMapCfgData(Constants.MainCityMapID); resSvc.AsyncLoadScene(mapData.sceneName, () => { Common.Log("Enter MainCity..."); //角色加载 LoadPlayer(mapData); //UI Audio mainCityWnd.SetWndState(); audioSvc.PlayBGMusic(Constants.BGMainCity); //角色观察相机 if (charCamTrans == null) { charCamTrans = GameObject.FindWithTag("CharShowCam").transform; } charCamTrans.gameObject.SetActive(false); //npc位置 GameObject mapRoot = GameObject.Find("MapRoot"); npcPosTrans = mapRoot.GetComponent <MainCityMap>().NPCPosTrans; }); }
public void EnterMainCity() { MapCfg mapData = resSvc.GetMapCfgData(Constants.MainCityID); resSvc.AsyncLoadScene(mapData.sceneName, () => { Common.Log(GetType() + "/EnterMainCity()/Enter MainCity..."); // 加载游戏主角 LoadPlayer(mapData); // 用玩家身上的声音监听,禁用GameRoot的 GameRoot.Instance.GetComponent <AudioListener>().enabled = false; // 打开主城的UI mainCityWnd.SetWndState(true); //播放主城背景音乐 audioSvc.PlayBGAudio(Constants.BGMainCity); GameObject map = GameObject.FindGameObjectWithTag("MapRoot"); MainCityMap mcm = map.GetComponent <MainCityMap>(); Debug.Log(GetType() + "/EnterMainCity()/ map : " + map.gameObject.name); npcPosTrans = mcm.NpcPosTrans; // 设置任务展示相机 if (CharCamTrans != null) { CharCamTrans.gameObject.SetActive(false); } }); }
public void ReqEndBattle(MsgPack packMsg) { RequestEndBattle data = packMsg._msg.reqEndBattle; NetMsg netMsg = new NetMsg { cmd = (int)MsgCommand.Cmd_RspEndBattle, }; //校验是否合法 if (data.bWin) { if (data.costTime > 20 && data.leftHp > 0) { MapCfg mapCfg = cfgSvc.GetMapCfgData(data.chapterID); PlayerData playerData = cacheSvc.GetPlayerDataBySession(packMsg._session); if (playerData != null && mapCfg != null) { TaskRewardSys.Instance.CalcTaskProgress(playerData, Constants.cTask_Copyer); playerData.coin += mapCfg.rewardCoin; playerData.critical += mapCfg.rewardCrystal; CommonTools.CalcExp(playerData, mapCfg.rewardExp); if (playerData.curChapter == data.chapterID) { playerData.curChapter += 1; } if (!cacheSvc.UpdatePlayerData(playerData.id, playerData)) { netMsg.err = (int)ErroCode.Error_UpdateDB; } else { ResponseEndBattle rspData = new ResponseEndBattle { bWin = data.bWin, chapterID = data.chapterID, costTime = data.costTime, leftHp = data.leftHp, coin = playerData.coin, lv = playerData.lv, exp = playerData.exp, crystal = playerData.crystal, progress = playerData.curChapter }; netMsg.rspEndBattle = rspData; } } } } else { netMsg.err = (int)ErroCode.Error_ClientData; } packMsg._session.SendMsg(netMsg); }
public void Init(int mapid) { resSvc = ResSvc.Instance; audioSvc = AudioSvc.Instance; //初始化各管理器 stateMgr = gameObject.AddComponent <StateMgr>(); stateMgr.Init(); skillMgr = gameObject.AddComponent <SkillMgr>(); skillMgr.Init(); //加载战场地图 MapCfg mapData = resSvc.GetMapCfg(mapid); resSvc.AsyncLoadScene(mapData.sceneName, () => { //初始化地图数据 GameObject map = GameObject.FindGameObjectWithTag("MapRoot"); mapMgr = map.GetComponent <MapMgr>(); mapMgr.Init(); map.transform.localPosition = Vector3.zero; map.transform.localScale = Vector3.one; Camera.main.transform.position = mapData.mainCamPos; Camera.main.transform.localEulerAngles = mapData.mainCamRote; LoadPlayer(mapData); entitySelfPlayer.Idle(); audioSvc.PlayBGMusic(Constants.BGHuangYe); }); }
public void Init(int mapid, Action cb = null) { TriggerCheck = true; IsPauseGame = false; //初始化各管理器 m_StateMgr.Init(); m_SkillMgr.Init(); //加载战场地图 m_MapCfg = GameEntry.Res.GetMapCfg(mapid); //初始化地图数据 //GameObject map = GameObject.FindGameObjectWithTag("MapRoot"); m_MapMgr = GameObject.FindObjectOfType <MapMgr>(); m_MapMgr.Init(this); monsterDic.Clear(); Camera.main.transform.position = m_MapCfg.mainCamPos; Camera.main.transform.localEulerAngles = m_MapCfg.mainCamRote; LoadPlayer(); //GameEntry.Sound.PlayUISound(Constants.BGHuangYe); if (cb != null) { cb(); } }
public void Init(int mapId) { resSev = ResSev.Instance; audioSev = AudioSev.Instance; stateMgr = gameObject.AddComponent <StateMgr>(); skillMgr = gameObject.AddComponent <SkillMgr>(); stateMgr.Init(); skillMgr.Init(); mapCfg = resSev.GetMapCfgData(mapId); resSev.AsyncLoadScene(mapCfg.sceneName, () => { GameObject map = GameObject.FindGameObjectWithTag("MapRoot"); mapMgr = map.GetComponent <MapMgr>(); mapMgr.Init(this); map.transform.localPosition = Vector3.zero; map.transform.localScale = Vector3.one; Camera.main.transform.position = mapCfg.mainCamPos; Camera.main.transform.localEulerAngles = mapCfg.mainCamRote; LoadPlayer(mapCfg); audioSev.PlayBGM(Constans.HuangYeBGM); ActiveCurrentBatchMonsters(); }); }
/// <summary> /// 打开主城界面 /// </summary> public void OpenMainCity() { MapCfg mapData = _resSvc.GetMapCfgData(Constants.cMainCityMapID); if (mapData == null) { CommonTools.Log("mapData error", LogType.LogType_Error); return; } _resSvc.AsyncLoadScene(mapData.sceneName, () => { CommonTools.Log("Open MainCity..."); //加载主角 LoadPlayer(mapData); //打开主城场景UI _mainCityWnd.SetWndState(true); GameRoot.Instance.GetComponent <AudioListener>().enabled = false; //播放主城背景音乐 _audioSvc.PlayBGM(Constants.cBGMMainCity); //设置人物展示相机 if (playerCamera != null) { playerCamera.gameObject.SetActive(false); } //获取主城场景中任务相关的几个npc的位置信息 GameObject objMapRoot = GameObject.FindGameObjectWithTag("MapRoot"); MapRootInfo mapRoot = objMapRoot.GetComponent <MapRootInfo>(); npcPositionTrans = mapRoot._npcPositionTrans; }); }
public void ReqFBFightEnd(MsgPack pack) { ReqFBFightEnd data = pack.msg.reqFBFightEnd; GameMsg msg = new GameMsg { cmd = (int)CMD.RspFBFightEnd }; // 校验战斗是否合法 if (data.win == true) { if (data.costtime > 0 && data.resthp > 0) { // 根据对应副本ID获取奖励 MapCfg rd = cfgSvc.GetMapCfg(data.fbId); PlayerData pd = cacheSvc.GetPlayerDataBySession(pack.session); // 任务进度更新 TaskSys.Instance.CalcTaskPrgs(pd, 2); pd.coin += rd.coin; pd.crystal += rd.exp; Common.CalcExp(pd, rd.exp); if (pd.fuben == data.fbId) { pd.fuben += 1; } // 更新数据库 if (cacheSvc.UpdatePlayerData(pd.id, pd) == false) { msg.err = (int)ErrorCode.UpdateDBError; } else { RspFBFightEnd rspFBFightEnd = new RspFBFightEnd { win = data.win, fbId = data.fbId, resthp = data.resthp, costtime = data.costtime, coin = pd.coin, lv = pd.lv, exp = pd.exp, crystal = pd.crystal, fuben = pd.fuben }; msg.rspFBFightEnd = rspFBFightEnd; } } } else { msg.err = (int)ErrorCode.ClientDataError; } pack.session.SendMsg(msg); }
public void Init(int mapId) { resSvc = ResSvc.instance; audioSvc = AudioSvc.instance; timerSvc = TimerSvc.instance; stateMgr = this.gameObject.AddComponent <StateMgr>(); stateMgr.Init(); skillMgr = this.gameObject.AddComponent <SkillMgr>(); skillMgr.Init(); mapCfg = resSvc.GetMapCfgData(mapId); resSvc.AsyncLoadScene(mapCfg.sceneName, () => { GameObject mapObj = GameObject.FindWithTag("MapRoot"); mapMgr = mapObj.GetComponent <MapMgr>(); mapMgr.Init(); audioSvc.PlayBgMusic(Constants.BGHuangye); mapObj.transform.position = Vector3.zero; mapObj.transform.localScale = Vector3.one; Camera.main.transform.position = mapCfg.mainCamPos; Camera.main.transform.localEulerAngles = mapCfg.mainCamRote; LoadPlayer(mapCfg); SetActiveCurrentBatchMonsters(); }); }
public void Init(int mapID) { resSvc = ResSvc.Instance; audioSvc = AudioSvc.Instance; //初始化各个管理器 stateMgr = gameObject.AddComponent <StateMgr>(); stateMgr.Init(); skillMgr = gameObject.AddComponent <SkillMgr>(); skillMgr.Init(); MapCfg mapData = resSvc.GetMapCfgData(mapID); resSvc.AsyncLoadScene(mapData.sceneName, () => { audioSvc.PlayBGMusic(Constants.BGHuangYe); GameObject map = GameObject.FindGameObjectWithTag("MapRoot"); mapMgr = map.GetComponent <MapMgr>(); mapMgr.Init(); Camera.main.transform.position = mapData.mainCamPos; Camera.main.transform.eulerAngles = mapData.mainCamRote; LoadPlayer(mapData); }); }
public void EnterMainCity() { MapCfg mapData = resSvc.GetMapCfgData(Constants.MainCityMapID); resSvc.AsyncLoadScene(mapData.sceneName, () => { PECommon.Log("Enter MainCity..."); //TODO 加载游戏主角 LoadPlayer(mapData); //打开主城场景UI mainCityWnd.SetWndState(true); GameRoot.Instance.GetComponent <AudioListener>().enabled = false; //播放主城背景音乐 audioSvc.PlayBGMusic(Constants.BGMainCity); GameObject map = GameObject.FindGameObjectWithTag("MapRoot"); MainCityMap mcm = map.GetComponent <MainCityMap>(); npcPosTrans = mcm.NpcPosTrans; //设置人物展示 if (charCamTrans == null) { charCamTrans = GameObject.FindGameObjectWithTag("CharShowCam").transform; } charCamTrans.gameObject.SetActive(false); }); }
public void InToMainCity() { //进入主城 ResSvc.intance.AsyncLoadScene(GameConstant.MainGameScene, () => { //加载游戏主角 mGameWin.ShowRoleHp(false); MapCfg mapData = ResSvc.intance.GetMapData(GameConstant.MainCitySceneId); MainGameSys.instance.LoadPlayer(mapData, mCurrentRole.profession); mGameWin.isShow(); mWorldTalkWin.isShow(); mWorldTalkWin.isTalk(false); //设置人物展示相机 if (mPlayerInfoCam != null) { mPlayerInfoCam.gameObject.SetActive(false); } //找到NPC的位置 NpcTransformArry = GameObject.FindGameObjectWithTag("NpcTransform").GetComponent <NpcTransform>().NpcTransformArry; isCity = true; //发送消息通知服务器上线了 string data = string.Format("{0},{1},{2}*{3}*{4}*", GameRoot.instance.mUser.id.ToString(), ((int)mCurrentRole.profession).ToString(), player.transform.position.x.ToString(), player.transform.position.y.ToString(), player.transform.position.z.ToString()); NetSvc.instance.SendSys(GameSys.步, MethodController.JoinCity, data); Invoke("SyncLoadRole", 0.5f); }); }
private void LoadPlayer(MapCfg mapCfg) { GameObject objPlayer = resSvc.LoadPrefab(PathDefine.cPlayerBattlePrefab); objPlayer.transform.localPosition = mapCfg.playerBornPos; objPlayer.transform.localEulerAngles = mapCfg.playerBornRote; objPlayer.transform.localScale = Vector3.one; PlayerData playerData = GameRoot.Instance.PlayerData; BattleProps battleProps = new BattleProps { hp = playerData.hp, ad = playerData.ad, ap = playerData.ap, addef = playerData.addef, apdef = playerData.apdef, dodge = playerData.dodge, pierce = playerData.pierce, critical = playerData.critical }; entityPlayer = new EntityPlayer { _stateMgr = battleStateMgr, _skillMgr = skillMgr, _battleMgr = this }; entityPlayer.SetBattleProps(battleProps); entityPlayer.EntityName = "Player"; PlayerController playerContrl = objPlayer.GetComponent <PlayerController>(); playerContrl.Init(); entityPlayer.SetController(playerContrl); }
private void LoadPlayer(MapCfg mapCfg) { GameObject player = resSvc.LoadPrefab(PathDefine.AssassinBattlePrefab, false); player.transform.position = mapCfg.playerBornPos; player.transform.localEulerAngles = mapCfg.playerBornRote; player.transform.localScale = Vector3.one; playerController = player.GetComponent <PlayerController>(); playerController.Init(); PlayerData playerData = GameRoot.Instance.PlayerData; BattleProps battleProps = new BattleProps { hp = playerData.hp, ad = playerData.ad, ap = playerData.ap, addef = playerData.addef, apdef = playerData.apdef, dodge = playerData.dodge, pierce = playerData.pierce, critical = playerData.critical, }; entityPlayer = new EntityPlayer { currentAniState = AniState.Idle, stateMgr = this.stateMgr, skillMgr = this.skillMgr, battleMgr = this, Name = "AssassinBattle", }; entityPlayer.SetController(playerController); entityPlayer.SetBattleProps(battleProps); }
public void RequestBattleEnd(MsgPack msgPack) { RequestBattleEnd data = msgPack.Msg.RequestBattleEnd; NetMsg netMsg = new NetMsg { cmd = (int)Command.ResponseBattleEnd }; //校验战斗是否合法 if (data.IsWin) { if (data.CostTime > 0 && data.RestHp > 0) { //获取战斗副本相应的奖励 MapCfg mapCfg = _resCfgSvc.GetMapData(data.BattleId); PlayerData playerData = _cacheSvc.GetPlayerDataBySession(msgPack.Session); TaskSys.Instance.CalcTaskPrangs(playerData, 2); playerData.Coin += mapCfg.Coin; playerData.Crystal += mapCfg.Crystal; PeRoot.CalcExp(playerData, mapCfg.Exp); if (playerData.Battle == data.BattleId) { playerData.Battle += 1; } if (!_cacheSvc.UpdatePlayerData(playerData.Id, playerData)) { netMsg.err = (int)ErrorCode.UpdateDbError; } else { ResponseBattleEnd battleEnd = new ResponseBattleEnd { IsWin = data.IsWin, Battle = data.BattleId, CostTime = data.CostTime, RestHp = data.RestHp, Coin = playerData.Coin, Level = playerData.Level, Exp = playerData.Exp, Crystal = playerData.Crystal, BattleId = playerData.Battle, }; netMsg.ResponseBattleEnd = battleEnd; } } } else { netMsg.err = (int)ErrorCode.ClientDataError; } msgPack.Session.SendMsg(netMsg); }
public MapCfg GetMapCfgData(int id) { MapCfg data = null; mapCfgDataDic.TryGetValue(id, out data); return(data); }
public MapCfg GetMapCfg(int id) { MapCfg mc = null; mapDic.TryGetValue(id, out mc); return(mc); }
public void ReqFBFightEnd(MsgPack pack) { ReqFBFightEnd data = pack.msg.reqFBFightEnd; GameMsg msg = new GameMsg { cmd = (int)CMD.RspFBFightEnd, }; //校验战斗是否合法 if (data.win) { if (data.costtime > 0 && data.resthp > 0) { //根据副本ID获取到相应的奖励 MapCfg rd = cfgSvc.GetMapCfg(data.fbid); PlayerData pd = cacheSvc.GetPlayerDataBySession(pack.session); //任务进度数据更新 msg.pshTaskPrgs = TaskSys.Instance.GetPshTaskPrgs(pd, 2); pd.coin += rd.coin; pd.crystal += rd.crystal; PECommon.CalcExp(pd, rd.exp); if (pd.fuben == data.fbid) { pd.fuben += 1; } if (!cacheSvc.UpdatePlayerData(pd.id, pd)) { msg.err = (int)ErrorCode.UpdateDBError; } else { msg.rspFBFightEnd = new RspFBFightEnd { win = data.win, fbid = data.fbid, resthp = data.resthp, costtime = data.costtime, coin = pd.coin, lv = pd.lv, exp = pd.exp, crystal = pd.crystal, fuben = pd.fuben, }; } } } else { msg.err = (int)ErrorCode.ClientDataError; } pack.session.SendMsg(msg); }
public void ReqFBFightEnd(MsgPack pack) { ReqFBFightEnd data = (ReqFBFightEnd)pack.msg; SCPacketBase msg = new RspFBFightEnd(); //校验战斗是否合法 if (data.Win) { if (data.Costtime > 0 && data.Resthp > 0) { //根据副本ID获取相应奖励 MapCfg rd = cfgSvc.GetMapCfg(data.Fbid); PlayerData pd = cacheSvc.GetPlayerDataBySession(pack.session); //任务进度数据更新 TaskSys.Instance.CalcTaskPrgs(pd, 2); pd.Coin += rd.coin; pd.Crystal += rd.crystal; KDCommon.CalcExp(pd, rd.exp); if (pd.Fuben == data.Fbid) { pd.Fuben += 1; } if (!cacheSvc.UpdatePlayerData(pd.Id, pd)) { msg.error = (int)ErrorCode.UpdateDBError; } else { RspFBFightEnd rspFBFight = new RspFBFightEnd { Win = data.Win, Fbid = data.Fbid, Resthp = data.Resthp, Costtime = data.Costtime, Coin = pd.Coin, Lv = pd.Lv, Exp = pd.Exp, Crystal = pd.Crystal, Fuben = pd.Fuben }; msg = rspFBFight; } } } else { msg.error = (int)ErrorCode.ClientDataError; } pack.session.SendMsg(msg); }
private void RefreshUI() { switch (endType) { case FBEndType.Pause: SetActive(rewardTrans, false); SetActive(btnExit.gameObject); SetActive(btnClose.gameObject); break; case FBEndType.Win: SetActive(rewardTrans, false); SetActive(btnExit.gameObject, false); SetActive(btnClose.gameObject, false); MapCfg cfg = resSvc.GetMapCfg(fbid); int min = costtime / 60; int sec = costtime % 60; int coin = cfg.coin; int exp = cfg.exp; int crystal = cfg.crystal; SetText(txtTime, $"通过时间:{min}:{sec}"); SetText(txtRestHP, $"剩余血量:{resthp}"); SetText(txtReward, $"关卡奖励:{Constants.Color(coin + "金币", TxtColor.Green)}," + $"{Constants.Color(exp + "经验", TxtColor.Yellow)},{Constants.Color(crystal + "水晶", TxtColor.Blue)}"); timerSvc.AddTimeTask((int tid) => { SetActive(rewardTrans); anim.Play(); timerSvc.AddTimeTask((int tid1) => { audioSvc.PlayUIAudio(Constants.FBItemEnter); timerSvc.AddTimeTask((int tid2) => { audioSvc.PlayUIAudio(Constants.FBItemEnter); timerSvc.AddTimeTask((int tid3) => { audioSvc.PlayUIAudio(Constants.FBItemEnter); timerSvc.AddTimeTask((int tid4) => { audioSvc.PlayUIAudio(Constants.FBLogoEnter); }, 300); }, 270); }, 270); }, 325); }, 1000); break; case FBEndType.Lose: SetActive(rewardTrans, false); SetActive(btnExit.gameObject); SetActive(btnClose.gameObject, false); audioSvc.PlayUIAudio(Constants.FBLose); break; } }