public FighterRound(Data.FighterRound dataRound, Round parent) { this.Parent = parent; this.DamageReceived = new RoundDamage() { BaseDamage = dataRound.Base_Damage, CutDamage = dataRound.Cut_Damage, EnduranceDamage = dataRound.Endurance_Damage, StunDamage = dataRound.Stun_Damage, }; this.StartEndurance = dataRound.Endurance_Start; this.IsWarned = dataRound.IsWarned; this.FatigueEndRound = dataRound.Fatigue_End; this.FatigueStartRound = dataRound.Fatigue_Start; this.Tactics = new FighterRoundPlan(dataRound.Tactic); this.Cuts = new CutList(dataRound.Cuts.Select(c => new Cut(c))); this.PunchStats = new Model.PunchStats(this.Tactics) { JabsLanded = dataRound.JabsLanded, PowerPunchesLanded = dataRound.PowerPunchesLanded, RightsLanded = dataRound.RightsLanded }; this.EndEndurance = this.StartEndurance - dataRound.Endurance_Damage - dataRound.Fatigue_End; }
public static List <CutBase> GetCutsForDataRound(this Data.FighterRound dataFighterRound) { if (dataFighterRound.PreviousCuts == null) { return(new List <Model.CutBase>()); } return(dataFighterRound.PreviousCuts.Select(c => new CutBase(c)).ToList()); }
public static bool IsDamageEqual(this Data.FighterRound dataFighterRound, RoundDamage damage, double threshold = 0) { double diff = Math.Abs(Math.Round(dataFighterRound.Stun_Damage, 1) - Math.Round(damage.StunDamage, 1)); if (diff > threshold) { return(false); } return(true); //diff = Math.Abs(Math.Round(dataFighterRound.Endurance_Damage, 1) - Math.Round(damage.EnduranceDamage, 1)); //if(diff > threshold) //{ // return false; //} //return true; }
public static RoundDamage CalculateDamageForDataRound(Data.Round round, FighterStats fStats, FighterStats oStats, List <CutBase> cuts, bool isFirst) { Data.FighterRound round1 = (isFirst) ? round.First : round.Second; Data.FighterRound round2 = (isFirst) ? round.Second : round.First; FighterStats adjusted1 = FighterStats.FatigueStats(fStats, round1.Endurance_Start); FighterStats adjusted2 = FighterStats.FatigueStats(oStats, round2.Endurance_Start); FighterRoundPlan fp1 = new FighterRoundPlan(round1.Tactic); FighterRoundPlan fp2 = new FighterRoundPlan(round2.Tactic); if (cuts != null) { adjusted1.AdjustCutStats(cuts); } RoundDamage ret = RoundDamage.CalculateRoundDamage(adjusted1, fp1, adjusted2, fp2, fp1.TargetArea); return(ret); }
public void CopyToDataRound(Data.FighterRound dataRound) { dataRound.Base_Damage = this.DamageReceived.BaseDamage; dataRound.Cut_Damage = this.DamageReceived.CutDamage; dataRound.Endurance_Damage = this.DamageReceived.EnduranceDamage; dataRound.Stun_Damage = this.DamageReceived.StunDamage; dataRound.Endurance_Start = this.StartEndurance; dataRound.IsWarned = this.IsWarned; dataRound.Fatigue_Start = this.FatigueStartRound; dataRound.Fatigue_End = this.FatigueEndRound; if (this.PunchStats != null) { dataRound.JabsLanded = this.PunchStats.JabsLanded; dataRound.PowerPunchesLanded = this.PunchStats.PowerPunchesLanded; dataRound.RightsLanded = this.PunchStats.RightsLanded; } }
public Data.FighterRound CreateInDatabase(int roundId, bool isFighter1) { WeebulEntities entities = DataHelpers.Entities; Data.FighterRound dataRound = entities.FighterRounds.Create(); dataRound.RoundId = roundId; dataRound.IsFighter1 = isFighter1; CopyToDataRound(dataRound); Tactic t = this.Tactics.GetDataTactic(); dataRound.TacticsId = t.TacticsId; Data.FighterRound saved = entities.FighterRounds.Add(dataRound); entities.SaveChanges(); SaveCuts(saved.FRID); entities.SaveChanges(); return(saved); }