/// <summary> /// 根据段位索引获取 /// </summary> /// <param name="gradeIndex"></param> /// <returns></returns> private ScoreGrade GetGradeByGradeIndex(int gradeIndex) { ScoreGrade sg = new ScoreGrade(); if (gradeIndex <= 0) { gradeIndex = 1; } else if (gradeIndex > 10) { gradeIndex = 10; } var sqlStr = @"SELECT * FROM ScoreGrade WHERE GradeIndex=@index"; var cmd = CommandHelper.CreateText <ScoreGrade>(FetchType.Fetch, sqlStr); cmd.Params.Add("@index", gradeIndex); var result = DbContext.GetInstance().Execute(cmd); if (result.Entities.Count > 0) { sg = result.Entities[0] as ScoreGrade; } return(sg); }
public static Color Color(this ScoreGrade grade) { Color color = UnityEngine.Color.white; switch (grade) { case ScoreGrade.MAX: ColorUtility.TryParseHtmlString("#ffc107", out color); break; case ScoreGrade.SSS: ColorUtility.TryParseHtmlString("#007bff", out color); break; case ScoreGrade.SS: ColorUtility.TryParseHtmlString("#2E9EF5", out color); break; case ScoreGrade.S: ColorUtility.TryParseHtmlString("#5BC0EB", out color); break; case ScoreGrade.AA: ColorUtility.TryParseHtmlString("#FDE74C", out color); break; case ScoreGrade.A: ColorUtility.TryParseHtmlString("#FDE74C", out color); break; case ScoreGrade.B: ColorUtility.TryParseHtmlString("#9BC53D", out color); break; case ScoreGrade.C: ColorUtility.TryParseHtmlString("#9BC53D", out color); break; case ScoreGrade.D: ColorUtility.TryParseHtmlString("#E55934", out color); break; case ScoreGrade.F: ColorUtility.TryParseHtmlString("#E55934", out color); break; } return(color); }
public Response Execute(User currentUser, string request) { var req = JsonConvert.DeserializeObject <Request <UserSport> >(request); var sql = "SELECT a.*,b.GradeName,b.LeftScore,b.RightScore,b.GradeIndex FROM UserSport a LEFT JOIN ScoreGrade b ON a.Score>=b.LeftScore AND a.Score<=b.RightScore WHERE UserId=@userId"; var cmd = CommandHelper.CreateText <UserSport>(FetchType.Fetch, sql); cmd.Params.Add("@userId", currentUser.Id); var result = DbContext.GetInstance().Execute(cmd); if (result.Entities.Count > 0) { UserSport us = result.Entities[0] as UserSport; ScoreGrade sg = null; if (us.GradeIndex == 1) { us.PreLeftGradeName = us.GradeName; us.PreLeftScore = us.LeftScore; } else { sg = GetGradeByGradeIndex(us.GradeIndex - 1);//前一段对象 us.PreLeftGradeName = sg.GradeName; us.PreLeftScore = sg.RightScore; } if (us.GradeIndex == 10)//最后一段 { us.PreLeftGradeName = us.GradeName; us.PreLeftScore = us.RightScore; } else { sg = GetGradeByGradeIndex(us.GradeIndex + 1);//后一段对象 us.NextRightGradeName = sg.GradeName; us.NextRightScore = sg.LeftScore; } } return(result); }
public static ColorGradient GetGradient(this ScoreGrade grade) { switch (grade) { case ScoreGrade.MAX: return(new ColorGradient("#0096FF".ToColor(), "#EC00C6".ToColor(), 135)); case ScoreGrade.SSS: case ScoreGrade.SS: case ScoreGrade.S: return(new ColorGradient("#FFC53D".ToColor(), "#FF5E07".ToColor(), -45)); case ScoreGrade.AA: case ScoreGrade.A: return(new ColorGradient("#FDEB70".ToColor(), "#E25FA6".ToColor(), -45)); case ScoreGrade.B: case ScoreGrade.C: return(new ColorGradient("#95C529".ToColor(), "#3DB1C5".ToColor(), -45)); default: return(new ColorGradient("#99A8D1".ToColor(), "#474E61".ToColor(), -45)); } }
public void Constructor_Accuracy49_IsF() { AddStep("Add score grade", () => Add(ScoreGrade = new ScoreGrade(0.49, false))); AddAssert("Is F", () => ScoreGrade.Grade == "F"); }
public void Constructor_Accuracy50_IsE() { AddStep("Add score grade", () => Add(ScoreGrade = new ScoreGrade(0.5, false))); AddAssert("Is E", () => ScoreGrade.Grade == "E"); }
public void Constructor_Accuracy60_IsD() { AddStep("Add score grade", () => Add(ScoreGrade = new ScoreGrade(0.6, false))); AddAssert("Is D", () => ScoreGrade.Grade == "D"); }
public void Constructor_Accuracy70_IsC() { AddStep("Add score grade", () => Add(ScoreGrade = new ScoreGrade(0.7, false))); AddAssert("Is C", () => ScoreGrade.Grade == "C"); }
public void Constructor_Accuracy80_IsB() { AddStep("Add score grade", () => Add(ScoreGrade = new ScoreGrade(0.8, false))); AddAssert("Is B", () => ScoreGrade.Grade == "B"); }
public void Constructor_Accuracy90_IsA() { AddStep("Add score grade", () => Add(ScoreGrade = new ScoreGrade(0.9, false))); AddAssert("Is A", () => ScoreGrade.Grade == "A"); }
public void Constructor_Accuracy95IsNotFullCombo_IsA() { AddStep("Add score grade", () => Add(ScoreGrade = new ScoreGrade(0.95, false))); AddAssert("Is S", () => ScoreGrade.Grade == "A" && !ScoreGrade.IsSquared); }
public void Constructor_Accuracy100IsFullCombo_IsS2() { AddStep("Add score grade", () => Add(ScoreGrade = new ScoreGrade(1, true))); AddAssert("Is S2", () => ScoreGrade.Grade == "S" && ScoreGrade.IsSquared); }