Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
    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));
        }
    }
Ejemplo n.º 5
0
 public void Constructor_Accuracy49_IsF()
 {
     AddStep("Add score grade", () => Add(ScoreGrade = new ScoreGrade(0.49, false)));
     AddAssert("Is F", () => ScoreGrade.Grade == "F");
 }
Ejemplo n.º 6
0
 public void Constructor_Accuracy50_IsE()
 {
     AddStep("Add score grade", () => Add(ScoreGrade = new ScoreGrade(0.5, false)));
     AddAssert("Is E", () => ScoreGrade.Grade == "E");
 }
Ejemplo n.º 7
0
 public void Constructor_Accuracy60_IsD()
 {
     AddStep("Add score grade", () => Add(ScoreGrade = new ScoreGrade(0.6, false)));
     AddAssert("Is D", () => ScoreGrade.Grade == "D");
 }
Ejemplo n.º 8
0
 public void Constructor_Accuracy70_IsC()
 {
     AddStep("Add score grade", () => Add(ScoreGrade = new ScoreGrade(0.7, false)));
     AddAssert("Is C", () => ScoreGrade.Grade == "C");
 }
Ejemplo n.º 9
0
 public void Constructor_Accuracy80_IsB()
 {
     AddStep("Add score grade", () => Add(ScoreGrade = new ScoreGrade(0.8, false)));
     AddAssert("Is B", () => ScoreGrade.Grade == "B");
 }
Ejemplo n.º 10
0
 public void Constructor_Accuracy90_IsA()
 {
     AddStep("Add score grade", () => Add(ScoreGrade = new ScoreGrade(0.9, false)));
     AddAssert("Is A", () => ScoreGrade.Grade == "A");
 }
Ejemplo n.º 11
0
 public void Constructor_Accuracy95IsNotFullCombo_IsA()
 {
     AddStep("Add score grade", () => Add(ScoreGrade = new ScoreGrade(0.95, false)));
     AddAssert("Is S", () => ScoreGrade.Grade == "A" && !ScoreGrade.IsSquared);
 }
Ejemplo n.º 12
0
 public void Constructor_Accuracy100IsFullCombo_IsS2()
 {
     AddStep("Add score grade", () => Add(ScoreGrade = new ScoreGrade(1, true)));
     AddAssert("Is S2", () => ScoreGrade.Grade == "S" && ScoreGrade.IsSquared);
 }