/// <summary> /// Entity转Model /// </summary> /// <param name="entity"></param> /// <returns></returns> private V_xy_sp_userspirit EntityToModel(xy_sp_userspirit entity) { if (entity != null) { V_xy_sp_userspirit model = new V_xy_sp_userspirit() { UserSpiritID = entity.UserSpiritID, UserId = entity.UserId, SpiritID = entity.SpiritID, SpiritName = entity.SpiritName, SpiritLifeMax = entity.SpiritLifeMax, SpiritMagicMax = entity.SpiritMagicMax, SpiritLife = entity.SpiritLife, SpiritMagic = entity.SpiritMagic, PhysicalResistance = entity.PhysicalResistance, MagicResistance = entity.MagicResistance, SpiritLevel = entity.SpiritLevel, SpiritExperience = entity.SpiritExperience, SpiritMoney = entity.SpiritMoney, PhysicalHarm = entity.PhysicalHarm, MagicHarm = entity.MagicHarm, Spiritspeed = entity.Spiritspeed, CurrentTaskID = entity.CurrentTaskID, Maxpackage = entity.Maxpackage }; return(model); } return(null); }
/// <summary> /// Model转Entity /// </summary> /// <param name="model"></param> /// <returns></returns> private xy_sp_userspirit ModelToEntity(V_xy_sp_userspirit model) { if (model != null) { xy_sp_userspirit entity = new xy_sp_userspirit() { UserSpiritID = model.UserSpiritID, UserId = model.UserId, SpiritID = model.SpiritID, SpiritName = model.SpiritName, SpiritLifeMax = model.SpiritLifeMax, SpiritMagicMax = model.SpiritMagicMax, SpiritLife = model.SpiritLife, SpiritMagic = model.SpiritMagic, PhysicalResistance = model.PhysicalResistance, MagicResistance = model.MagicResistance, SpiritLevel = model.SpiritLevel, SpiritExperience = model.SpiritExperience, SpiritMoney = model.SpiritMoney, PhysicalHarm = model.PhysicalHarm, MagicHarm = model.MagicHarm, Spiritspeed = model.Spiritspeed, CurrentTaskID = model.CurrentTaskID, Maxpackage = model.Maxpackage }; return(entity); } return(null); }
/// <summary> /// 战斗并返回所有怪物状态 /// </summary> /// <param name="FighterFrom">用户精灵</param> /// <param name="skill">技能</param> /// <param name="FighterToList"></param> /// <returns></returns> public V_xy_sp_userView UserStartFight(V_xy_sp_userView userView, string skillName, ref string batmsgAll) { V_xy_sp_userspirit FighterFrom = userView.Spirit; V_xy_sp_skill skill = userView.Spirit.spSkillList[0].skill; List <V_xy_sp_spirit> FighterToList = userView.Task.SpiritsList; List <V_xy_sp_spirit> FighterToResult = new List <V_xy_sp_spirit>(); FighterFrom.SpiritMagic = FighterFrom.SpiritMagic - skill.ExpendValue; int maxInjuryCount = 0; foreach (V_xy_sp_spirit spirit in FighterToList) { if (spirit.SpiritLife <= 0) { continue; //生命值低于0跳过 } if (skill.isGroupinjury == 1 && maxInjuryCount == FighterToList.Count) { //如果是群攻并且攻击次数已到最大次数,不攻击 FighterToResult.Add(spirit); continue; } else if (maxInjuryCount == 1) { //如果非群攻,不攻击 FighterToResult.Add(spirit); continue; } string batmsg = string.Empty; SkillInjury(FighterFrom, skill, spirit, ref batmsg); batmsgAll = batmsgAll + System.Environment.NewLine + batmsg; maxInjuryCount++; FighterToResult.Add(spirit); //所有怪物已阵亡 if (spirit == FighterToList.LastOrDefault()) { if (spirit.SpiritLife <= 0) { xy_sp_taskBLL tkBll = new xy_sp_taskBLL(); string NextTaskID = tkBll.GetNextTaskIDByTaskID(FighterFrom.CurrentTaskID); userView.Task.IsClear = "1"; userView.NextTask = tkBll.getTaskContext(NextTaskID); } } } userView.Task.SpiritsList = FighterToResult; return(userView); }
/// <summary> /// 更新 /// </summary> /// <param name="model"></param> /// <returns></returns> public bool Edit(V_xy_sp_userspirit model) { if (model == null) { return(false); } using (xy_sp_userspiritDAL dal = new xy_sp_userspiritDAL()){ xy_sp_userspirit entitys = ModelToEntity(model); return(dal.Edit(entitys)); } }
void ws_NewMessageReceived(WebSocketSession session, string value) { string SpiritJsonData = string.Empty; try { string tokenValue = session.Path.Split('=')[1]; V_xy_sp_userView userView = CacheServer.GetUserViewFromCache(tokenValue); switch (value) { case "skill1": string batmsgAll = string.Empty; fighter = new FightHelper_User(); //List<V_xy_sp_spirit> Enemys V_xy_sp_userView userViewResult = fighter.UserStartFight(userView, "skill1", ref batmsgAll); //更新缓存的敌人信息 //userView.Task.SpiritsList.Clear(); //userView.Task.SpiritsList.AddRange(Enemys); CacheServer.UpdatetUserViewCache(tokenValue, userView); ResponseObj <V_xy_sp_userView> resBat = new ResponseObj <V_xy_sp_userView>() { DataType = "batinfo", ObjType = "obj", IsSuccess = "1", Data = userViewResult, MessageInfo = batmsgAll }; SpiritJsonData = JsonConvert.SerializeObject(resBat); break; default: V_xy_sp_userspirit spirit = userView.Spirit; ResponseObj <string> resMsg = new ResponseObj <string>() { DataType = "msginfo", ObjType = "obj", IsSuccess = "1", Data = spirit.SpiritName + " 说:" + value }; SpiritJsonData = JsonConvert.SerializeObject(resMsg); break; } SendToAll(session, SpiritJsonData); }catch (Exception ex) { Tracer.Debug(ex.ToString()); } }
/// <summary> /// 新增 /// </summary> /// <param name="model"></param> /// <returns></returns> public string Add(V_xy_sp_userspirit model) { if (model == null) { return(string.Empty); } using (xy_sp_userspiritDAL dal = new xy_sp_userspiritDAL()){ xy_sp_userspirit entity = ModelToEntity(model); entity.UserSpiritID = string.IsNullOrEmpty(model.UserSpiritID) ? Guid.NewGuid().ToString("N") : model.UserSpiritID; return(dal.Add(entity)); } }
public IHttpActionResult Post([FromBody] Request <V_xy_sp_userspirit> request) { V_xy_sp_userspirit model = request.Data as V_xy_sp_userspirit; if (string.IsNullOrEmpty(model.UserSpiritID)) { bll.Add(model); } else { bll.Edit(model); } return(Ok("ok")); }
private V_xy_sp_spirit SkillInjury(V_xy_sp_userspirit FighterFrom, V_xy_sp_skill skill, V_xy_sp_spirit FighterTo, ref string batmsg) { V_xy_sp_spirit Fightersult = new V_xy_sp_spirit(); switch (skill.SkillType) { case "1": //物理伤害 //我方增加经验 updateEnemy(FighterFrom, FighterTo, skill, ref batmsg); break; default: updateEnemy(FighterFrom, FighterTo, skill, ref batmsg); break; } Fightersult = FighterTo; return(Fightersult); }
/// <summary> /// 我方对怪物的伤害杀死的情况 /// </summary> /// <param name="FighterFrom"></param> /// <param name="FighterTo"></param> private void updateEnemy(V_xy_sp_userspirit FighterFrom, V_xy_sp_spirit FighterTo, V_xy_sp_skill skill, ref string batmsg) { var LifeLeftValue = FighterTo.SpiritLife - skill.SkillGainValue; if (LifeLeftValue <= 0)//敌人已死亡 { batmsg = "\"" + FighterFrom.SpiritName + "\"使用\"" + skill.SkillName + "\"杀死了\"" + FighterTo.SpiritName; //更新等级和经验 xy_sp_userspiritBLL uspBll = new xy_sp_userspiritBLL(); decimal Experience = FighterTo.SpiritExperience.Value; batmsg += " 获得" + Experience + "点经验 "; FighterFrom.SpiritExperience += Experience; //等级 if (FighterFrom.SpiritExperience > LevelExperience(FighterFrom.SpiritLevel.Value)) { FighterFrom.SpiritLevel = FighterFrom.SpiritLevel + 1; batmsg += System.Environment.NewLine + " 恭喜你升到" + FighterFrom.SpiritLevel + "级"; FighterFrom.SpiritExperience = FighterFrom.SpiritExperience - LevelExperience(FighterFrom.SpiritLevel.Value); } uspBll.Edit(FighterFrom); //我方获取敌方装备 xy_sp_userspiritpackageBLL spBll = new xy_sp_userspiritpackageBLL(); foreach (var item in FighterTo.spiritEquipmentList) { V_xy_sp_userspiritpackage packageItem = new V_xy_sp_userspiritpackage(); packageItem.UserSpiritID = FighterFrom.UserSpiritID; packageItem.EquipmentID = item.EquipmentID; spBll.Add(packageItem); batmsg += System.Environment.NewLine + " 本次战斗意外获得:" + item.EquipmentName; } } else { batmsg = "\"" + FighterFrom.SpiritName + "\"使用\"" + skill.SkillName + "\"攻击\"" + FighterTo.SpiritName + "\"造成\"" + skill.SkillGainValue + "\"点物理伤害"; } //更新怪物生命值 FighterTo.SpiritLife = LifeLeftValue; }
public IHttpActionResult Get(string ID) { V_xy_sp_userspirit model = bll.Get(p => p.UserSpiritID == ID); return(Ok(model)); }
public IHttpActionResult GetByUserID(string UserID) { V_xy_sp_userspirit model = bll.Get(p => p.UserId == UserID); return(Ok(model)); }