public void Init() { conn = new MySqlConnection("server=localhost;User Id = root;passwrod=;Database=darkgod;Charset = utf8"); conn.Open(); PECommon.Log("DBMgr Init Done."); //QueryPlayerData("xxxx", "oooo"); }
public void InitSvc() { Instance = this; InitRDNameCfg(); InitWeapenCfg(); PECommon.Log("Init ResSvc..."); }
private void Start() { instance = this; DontDestroyOnLoad(this); PECommon.Log("游戏开始。。。"); ClearUIRoot(); Init(); }
public void Init() { InitGuideCfg(); InitStrongCfg(); InitTaskRewrdCfg(); InitMapCfg(); PECommon.Log("CfgSvc Init Done."); }
public void Init() { cacheSvc = CacheSvc.Instance; timerSvc = TimerSvc.Instance; TimerSvc.Instance.AddTimeTask(CalPowerAdd, PECommon.PowerAddSpace, PETimeUnit.Minute, 0); PECommon.Log("PowerSys Init Done."); }
private void Start() { Instance = this; DontDestroyOnLoad(this); PECommon.Log("Game Start...."); ClearUIRoot(); Init(); }
public void Init() { PESocket <ServerSession, GameMsg> server = new PESocket <ServerSession, GameMsg>(); server.StartAsServer(ServerCfg.srvIP, ServerCfg.srvPort); PECommon.Log("NetSvc Init Done."); }
private void InitGuideCfg(string assetName, object asset, float duration, object userData) { TextAsset xml = asset as TextAsset; if (!xml) { PECommon.Log("xml file:" + assetName + " not exist", LogType.Error); } else { XmlDocument doc = new XmlDocument(); doc.LoadXml(xml.text); 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); AutoGuideCfg mc = new AutoGuideCfg { ID = ID }; foreach (XmlElement e in nodLst[i].ChildNodes) { switch (e.Name) { case "npcID": mc.npcID = int.Parse(e.InnerText); break; case "dilogArr": mc.dilogArr = e.InnerText; break; case "actID": mc.actID = int.Parse(e.InnerText); break; case "coin": mc.coin = int.Parse(e.InnerText); break; case "exp": mc.exp = int.Parse(e.InnerText); break; } } guideTaskDic.Add(ID, mc); } } GameEntry.Resource.UnloadAsset(asset); }
public void ReqLogin(MsgPack pack) { ReqLogin data = pack.msg.reqLogin; //当前账号是否已经上线 GameMsg msg = new GameMsg { cmd = (int)CMD.RspLogin }; if (cacheSvc.IsAcctOnLine(data.acct)) { //己上线:返回错误信息 msg.err = (int)ErrorCode.AcctIsOnline; } else { //未上线: //账号是否存在 PlayerData pd = cacheSvc.GetPlayerData(data.acct, data.pass); if (pd == null) { //存在,密码错误 msg.err = (int)ErrorCode.WrongPass; } else { //计算离线体力增长 int power = pd.power; long now = timerSvc.GetNowTime(); long milliseconds = now - pd.time; int addPower = (int)(milliseconds / (1000 * 60 * PECommon.PowerAddSpace)) * PECommon.PowerAddCount; if (addPower > 0) { int powerMax = PECommon.GetPowerLimit(pd.lv); if (pd.power < powerMax) { pd.power += addPower; if (pd.power > powerMax) { pd.power = powerMax; } } } if (power != pd.power) { cacheSvc.UpdatePlayerData(pd.id, pd); } msg.rspLogin = new RspLogin { playerData = pd }; //缓存账号数据 cacheSvc.AcctOnline(data.acct, pack.session, pd); } } //回应客户端 pack.session.SendMsg(msg); }
private int InsertNewAcctData(string acct, string pass, PlayerData pd) { int id = -1; try { MySqlCommand cmd = new MySqlCommand( "insert into account set acct=@acct,pass =@pass,name=@name,level=@level,exp=@exp,power=@power,coin=@coin,diamond=@diamond," + "crystal=@crystal,hp = @hp, ad = @ad, ap = @ap, addef = @addef, apdef = @apdef, dodge = @dodge, pierce = @pierce, critical = @critical," + "guideid=@guideid,strong=@strong,time=@time,task=@task,fuben=@fuben", conn); cmd.Parameters.AddWithValue("acct", acct); cmd.Parameters.AddWithValue("pass", pass); cmd.Parameters.AddWithValue("name", pd.name); cmd.Parameters.AddWithValue("level", pd.lv); cmd.Parameters.AddWithValue("exp", pd.exp); cmd.Parameters.AddWithValue("power", pd.power); cmd.Parameters.AddWithValue("coin", pd.coin); cmd.Parameters.AddWithValue("diamond", pd.diamond); cmd.Parameters.AddWithValue("crystal", pd.crystal); cmd.Parameters.AddWithValue("hp", pd.hp); cmd.Parameters.AddWithValue("ad", pd.ad); cmd.Parameters.AddWithValue("ap", pd.ap); cmd.Parameters.AddWithValue("addef", pd.addef); cmd.Parameters.AddWithValue("apdef", pd.apdef); cmd.Parameters.AddWithValue("dodge", pd.dodge); cmd.Parameters.AddWithValue("pierce", pd.pierce); cmd.Parameters.AddWithValue("critical", pd.critical); cmd.Parameters.AddWithValue("guideid", pd.guideid); string strongInfo = ""; for (int i = 0; i < pd.strongArr.Length; i++) { strongInfo += pd.strongArr[i]; strongInfo += "#"; } cmd.Parameters.AddWithValue("strong", strongInfo); cmd.Parameters.AddWithValue("time", pd.time); //1|0|0#1|0|0#1|0|0#1|0|0#1|0|0# string taskInfo = ""; for (int i = 0; i < pd.taskArr.Length; i++) { taskInfo += pd.taskArr[i]; taskInfo += "#"; } cmd.Parameters.AddWithValue("task", taskInfo); cmd.Parameters.AddWithValue("fuben", pd.fuben); //TOADD cmd.ExecuteNonQuery(); id = (int)cmd.LastInsertedId; } catch (Exception e) { PECommon.Log("Insert PlayerData Error:" + e, LogType.Error); } return(id); }
public void Enter(EntityBase entity, params object[] objs) { entity.currentAnimState = AniState.Idle; entity.SetDir(Vector2.zero); PECommon.Log("Enter idle state."); entity.actionTaskLst.Clear(); entity.moveTaskLst.Clear(); entity.skillEndCb = -1; }
public void Init(BattleMgr battle) { this.battleMgr = battle; // 实例化第一批怪物 battleMgr.LoadMonsterByWaveID(waveIndex); PECommon.Log("Init MapMgr Done."); }
public void ReqLogin(MsgPack pack) { ReqLogin data = pack.msg.reqLogin; //当前账号是否已经上线 GameMsg msg = new GameMsg { cmd = (int)CMD.RspLogin, }; if (CacheSvc.Instance.IsAcctOnline(data.acct)) { //已上线:返回错误信息 msg.err = (int)ErrorCode.AcctIsOnLine; } else { //未上线: PlayerData pd = CacheSvc.Instance.GetPlayerData(data.acct, data.pass); if (pd == null) { //存在:密码错误 msg.err = (int)ErrorCode.WrongPass; } else { int power = pd.power; long nowtime = TimeSvc.Instance.GetNowTime(); long deltatime = nowtime - pd.time; int addPower = (int)(deltatime / (1000 * 60 * PECommon.PowerAddSpace)) * PECommon.PowerAddCount; if (addPower > 0) { int powerMax = PECommon.GetPowerLimit(pd.lv); if (pd.power < powerMax) { pd.power += addPower; if (pd.power > powerMax) { pd.power = powerMax; } } } msg.rspLogin = new RspLogin { playerData = pd }; CacheSvc.Instance.AcctOnline(data.acct, pack.session, pd); CacheSvc.Instance.UpdatePlayerData(pd.id, pd, pack.session); } } //回应客户端 pack.session.SendMsg(msg); }
private void InitGuideCfg(string path) { TextAsset xml = Resources.Load <TextAsset>(path); if (!xml) { PECommon.Log("xml file:" + path + "not exist", LogType.Error); } else { XmlDocument doc = new XmlDocument(); doc.LoadXml(xml.text); XmlNodeList nodeList = doc.SelectSingleNode("root").ChildNodes; for (int i = 0; i < nodeList.Count; i++) { XmlElement ele = nodeList[i] as XmlElement; if (string.IsNullOrEmpty(ele.GetAttributeNode("ID").InnerText)) { continue; } int id = Convert.ToInt32(ele.GetAttributeNode("ID").InnerText); AutoGuideCfg guideCfg = new AutoGuideCfg { ID = id }; foreach (XmlElement e in nodeList[i].ChildNodes) { switch (e.Name) { case "npcID": guideCfg.npcID = int.Parse(e.InnerText); break; case "dilogArr": guideCfg.dilogArr = e.InnerText; break; case "actID": guideCfg.actID = int.Parse(e.InnerText); break; case "coin": guideCfg.coin = int.Parse(e.InnerText); break; case "exp": guideCfg.exp = int.Parse(e.InnerText); break; } } guideTaskDic.Add(id, guideCfg); } } }
/// <summary> /// 更新数据库的某一条记录 /// </summary> public bool UpdateAcctData(int id, PlayerData playerData) { bool updateSucceed = false; try { MySqlCommand cmd = new MySqlCommand("update account set name = @name, lv = @lv,exp = @exp, stamina = @stamina,coin = @coin,diamond = @diamond," + "crystal = @crystal, hp = @hp, ad = @ad, ap = @ap, addef = @addef, apdef = @apdef, dodge = @dodge, pierce = @pierce,critical = @critical,taskid = @taskid," + "strong = @strong,time = @time,task = @task,fuben = @fuben,energy = @energy where id = @id", conn); cmd.Parameters.AddWithValue("id", id); cmd.Parameters.AddWithValue("name", playerData.name); cmd.Parameters.AddWithValue("lv", playerData.lv); cmd.Parameters.AddWithValue("exp", playerData.exp); cmd.Parameters.AddWithValue("stamina", playerData.stamina); cmd.Parameters.AddWithValue("coin", playerData.coin); cmd.Parameters.AddWithValue("diamond", playerData.diamond); cmd.Parameters.AddWithValue("crystal", playerData.crystal); cmd.Parameters.AddWithValue("hp", playerData.hp); cmd.Parameters.AddWithValue("ad", playerData.ad); cmd.Parameters.AddWithValue("ap", playerData.ap); cmd.Parameters.AddWithValue("addef", playerData.addef); cmd.Parameters.AddWithValue("apdef", playerData.apdef); cmd.Parameters.AddWithValue("dodge", playerData.dodge); cmd.Parameters.AddWithValue("pierce", playerData.pierce); cmd.Parameters.AddWithValue("critical", playerData.critical); cmd.Parameters.AddWithValue("taskid", playerData.taskid); cmd.Parameters.AddWithValue("time", playerData.time); cmd.Parameters.AddWithValue("fuben", playerData.fuben); cmd.Parameters.AddWithValue("energy", playerData.energy); int[] strongArr = playerData.strongArr; string strongStrArr = ""; for (int i = 0; i < strongArr.Length; i++) { strongStrArr += strongArr[i].ToString(); strongStrArr += "#"; } cmd.Parameters.AddWithValue("strong", strongStrArr); string[] taskArr = playerData.taskArr; string taskStrArr = ""; for (int i = 0; i < taskArr.Length; i++) { taskStrArr += taskArr[i]; taskStrArr += "#"; } cmd.Parameters.AddWithValue("task", taskStrArr); cmd.ExecuteNonQuery(); updateSucceed = true; } catch (Exception e) { PECommon.Log("Update Accout Data Error:" + e, LogType.Error); } return(updateSucceed); }
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 override void InitSys() { base.InitSys(); Instance = this; PECommon.Log("Init LoginSys..."); EnterLogin(); }
public bool UpdatePlayerData(int id, PlayerData playerData) { try { MySqlCommand cmd = new MySqlCommand( "update account set name=@name,level=@level,exp=@exp,power=@power,coin=@coin,diamond=@diamond," + "crystal=@crystal,hp=@hp,ad = @ad,ap = @ap,addef = @addef,apdef = @apdef,dodge = @dodge,pierce = @pierce,critical = @critical," + "guideid = @guideid,strong=@strong,time=@time,task=@task,fuben=@fuben where id = @id", connection); cmd.Parameters.AddWithValue("id", id); cmd.Parameters.AddWithValue("name", playerData.name); cmd.Parameters.AddWithValue("level", playerData.lv); cmd.Parameters.AddWithValue("exp", playerData.exp); cmd.Parameters.AddWithValue("power", playerData.power); cmd.Parameters.AddWithValue("coin", playerData.coin); cmd.Parameters.AddWithValue("diamond", playerData.diamond); cmd.Parameters.AddWithValue("crystal", playerData.crystal); cmd.Parameters.AddWithValue("hp", playerData.hp); cmd.Parameters.AddWithValue("ad", playerData.ad); cmd.Parameters.AddWithValue("ap", playerData.ap); cmd.Parameters.AddWithValue("addef", playerData.addef); cmd.Parameters.AddWithValue("apdef", playerData.apdef); cmd.Parameters.AddWithValue("dodge", playerData.dodge); cmd.Parameters.AddWithValue("pierce", playerData.pierce); cmd.Parameters.AddWithValue("critical", playerData.critical); cmd.Parameters.AddWithValue("guideid", playerData.guideid); string strongInfo = ""; for (int i = 0; i < playerData.strongArr.Length; i++) { strongInfo += playerData.strongArr[i]; strongInfo += "#"; } cmd.Parameters.AddWithValue("strong", strongInfo); cmd.Parameters.AddWithValue("time", playerData.time); string taskInfo = ""; for (int i = 0; i < playerData.taskArr.Length; i++) { taskInfo += playerData.taskArr[i]; taskInfo += "#"; } cmd.Parameters.AddWithValue("task", taskInfo); cmd.Parameters.AddWithValue("fuben", playerData.fuben); cmd.ExecuteNonQuery(); } catch (Exception e) { PECommon.Log("Update PlayerData Error:" + e, LogType.Error); return(false); } return(true); }
public void ProcessMsg(SCPacketBase msg) { m_LastPongTime = GameEntry.Timer.GetTimeStamp(); Debug.Log("receive from server:" + (CMD)msg.Id); if (msg.error != (int)ErrorCode.None) { switch ((ErrorCode)msg.error) { case ErrorCode.ServerDataError: PECommon.Log("服务器数据异常", LogType.Error); GameEntry.UI.AddTips("客户端数据异常"); break; case ErrorCode.UpdateDBError: PECommon.Log("数据库更新异常", LogType.Error); GameEntry.UI.AddTips("网络不稳定"); break; case ErrorCode.ClientDataError: PECommon.Log("客户端数据异常", LogType.Error); break; case ErrorCode.AcctIsOnline: GameEntry.UI.AddTips("当前账号已经上线"); break; case ErrorCode.WrongPass: GameEntry.UI.AddTips("密码错误"); break; case ErrorCode.LackLevel: GameEntry.UI.AddTips("角色等级不够"); break; case ErrorCode.LackCoin: GameEntry.UI.AddTips("金币数量不够"); break; case ErrorCode.LackCrystal: GameEntry.UI.AddTips("水晶数量不够"); break; case ErrorCode.LackDiamond: GameEntry.UI.AddTips("钻石数量不够"); break; case ErrorCode.LackPower: GameEntry.UI.AddTips("体力值不足"); break; } return; } OnReceiveSCPacketBaseEventArgs eventArgs = ReferencePool.Acquire <OnReceiveSCPacketBaseEventArgs>(); eventArgs.Fill((CMD)msg.Id, msg); GameEntry.Event.FireNow(this, eventArgs); }
public void Process(EntityBase entity, params object[] args) { entity.SetAction(Constant.ActionBorn); TimerSvc.Instance.AddTimeTask((int tid) => { entity.SetAction(Constant.ActionDefault); }, 500); PECommon.Log("Process Born"); }
public void InitSvc() { instance = this; InitRDNameCfg(PathDefine.RDName); InitMapCfg(PathDefine.MapCfg); InitGuideCfg(PathDefine.GuideCfg); InitStrengthCfg(PathDefine.StrengthCfg); PECommon.Log("启动资源加载..."); }
protected override void OnReciveMsg(GameMessage msg) { PECommon.Log("RcvPack: " + ((CMD)msg.cmd).ToString()); SendMsg(new GameMessage { text = "SrvRsp:" + msg.text }); NetworkService.Instance.AddmsgQue(msg); }
public void Init(BattleMgr battleMgr) { this.battleMgr = battleMgr; //实例化第一批怪物 battleMgr.LoadMonsterByWaveID(waveIndex); PECommon.Log("MapMgr Init Done"); }
private void InitGuideCfg() { TextAsset xml = Resources.Load <TextAsset>(PathDefine.AutoGuideCfg); if (!xml) { PECommon.Log("xml file:" + PathDefine.AutoGuideCfg + " not exist"); } else { XmlDocument doc = new XmlDocument(); doc.LoadXml(xml.text); XmlNodeList nodLst = doc.SelectSingleNode("root").ChildNodes; for (int i = 0; i < nodLst.Count; i++) { XmlElement ele = nodLst[i] as XmlElement; //如果ID不存在 读下一条 if (ele.GetAttributeNode("ID") == null) { continue; } int id = Convert.ToInt32(ele.GetAttributeNode("ID").InnerText); AutoGuideCfg mc = new AutoGuideCfg { ID = id }; foreach (XmlElement e in nodLst[i].ChildNodes) { switch (e.Name) { case "npcID": mc.npcID = int.Parse(e.InnerText); break; case "actID": mc.actID = int.Parse(e.InnerText); break; case "coin": mc.coin = int.Parse(e.InnerText); break; case "exp": mc.exp = int.Parse(e.InnerText); break; case "dilogArr": mc.dilogArr = e.InnerText; break; } } autoGuideCfgDic.Add(id, mc); } } }
/// <summary> /// 更新数据 /// </summary> public bool UpdatePlayerData(int id, PlayerData pd) { try { MySqlCommand cmd = new MySqlCommand("update account set name=@name,level=@level,exp=@exp,power=@power,coin=@coin,diamond=@diamond,crystal=@crystal,hp=@hp,ad=@ad,ap=@ap,addef=@addef,apdef=@apdef,dodge=@dodge,pierce=@pierce,critical=@critical,guideId = @guideId,strong =@strong,time =@time,task =@task,fuben = @fuben where id = @id", conn); cmd.Parameters.AddWithValue("id", id); cmd.Parameters.AddWithValue("name", pd.name); cmd.Parameters.AddWithValue("level", pd.lv); cmd.Parameters.AddWithValue("exp", pd.exp); cmd.Parameters.AddWithValue("power", pd.power); cmd.Parameters.AddWithValue("coin", pd.coin); cmd.Parameters.AddWithValue("diamond", pd.diamond); cmd.Parameters.AddWithValue("crystal", pd.crystal); cmd.Parameters.AddWithValue("hp", pd.hp); cmd.Parameters.AddWithValue("ad", pd.ad); cmd.Parameters.AddWithValue("ap", pd.ap); cmd.Parameters.AddWithValue("addef", pd.addef); cmd.Parameters.AddWithValue("apdef", pd.apdef); cmd.Parameters.AddWithValue("dodge", pd.dodge); cmd.Parameters.AddWithValue("pierce", pd.pierce); cmd.Parameters.AddWithValue("critical", pd.critical); cmd.Parameters.AddWithValue("guideId", pd.guideId); //写入强化星级 //0#0#0#0#0#0# string strongStr = string.Empty; int[] strong = pd.strongArr; for (int i = 0; i < strong.Length; i++) { strongStr += strong[i]; strongStr += "#"; } cmd.Parameters.AddWithValue("strong", strongStr); cmd.Parameters.AddWithValue("time", pd.time); #region Taskreward string[] taskArr = pd.taskArr; string taskStr = string.Empty; for (int i = 0; i < taskArr.Length; i++) { taskStr += taskArr[i] + "#"; } cmd.Parameters.AddWithValue("task", taskStr); cmd.Parameters.AddWithValue("fuben", pd.fuben); #endregion cmd.ExecuteNonQuery(); } catch (System.Exception ex) { PECommon.Log("Updat ePlayerData Error:" + ex, LogType.Error); return(false); } return(true); }
public void Init() { fsm.Add(AniState.Born, new StateBorn()); fsm.Add(AniState.Idle, new StateIdle()); fsm.Add(AniState.Move, new StateMove()); fsm.Add(AniState.Attack, new StateAttack()); fsm.Add(AniState.Hit, new StateHit()); fsm.Add(AniState.Die, new StateDie()); PECommon.Log("Init StateMgr Done."); }
private void Start() { Instance = this; DontDestroyOnLoad(this); PECommon.Log("Game Start..."); ClearUIRoot(); DynamicPanel.gameObject.SetActive(true); Init(); }
public void BattleEnd() { EnemyGODic.Clear(); //销毁UI DestroyOneHPBar(BattleSys.Instance.GetCurrentRoleType()); //销毁一下预制体。 BattleSys.Instance.battleMgr.DestroyPlayerModel(BattleSys.Instance.GetCurrentRoleType()); playerItemHPDic.Clear(); PECommon.Log("我的游戏结束,销毁我的游戏物体"); }
public void ResetSkillCfgs() { skillDic.Clear(); InitSkillCfg(PathDefine.SkillCfg); skillMoveDic.Clear(); InitSkillMoveCfg(PathDefine.SkillMoveCfg); PECommon.Log("Reset SkillCfgs..."); skillActionDic.Clear(); InitSkillActionCfg(PathDefine.SkillActionCfg); }
public void InitSvc() { Instance = this; InitRDNameCfg(PathDefine.RDNameCfg); InitMapCfg(PathDefine.MapCfg); InitGuideCfg(PathDefine.GuideCfg); InitStrongCfg(PathDefine.StrongCfg); InitTaskRewardCfg(PathDefine.TaskRewardCfg); PECommon.Log("Init ResSvc..."); }