Example #1
0
        public bool GetExamConfirmStatus(Dan_C dan_C)
        {
            switch (dan_C.GetExamRange())
            {
            case Exam.Range.Less:
            {
                if (GetExamStatus(dan_C) == Exam.Status.Better_Success && notesremain == 0)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }

            case Exam.Range.More:
            {
                if (GetExamStatus(dan_C) == Exam.Status.Better_Success)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            }
            return(false);
        }
        public override void On活性化()
        {
            for (int i = 0; i < 4; i++)
            {
                if (TJAPlayer3.DTX.Dan_C[i] != null)
                {
                    Challenge[i] = new Dan_C(TJAPlayer3.DTX.Dan_C[i]);
                }
            }
            // 始点を決定する。
            ExamCount = 0;
            for (int i = 0; i < 4; i++)
            {
                if (Challenge[i] != null && Challenge[i].GetEnable() == true)
                {
                    this.ExamCount++;
                }
            }

            for (int i = 0; i < 4; i++)
            {
                Status[i] = new ChallengeStatus();
                Status[i].Timer_Amount = new CCounter();
                Status[i].Timer_Gauge  = new CCounter();
                Status[i].Timer_Failed = new CCounter();
            }
            IsEnded = false;

            if (TJAPlayer3.stage選曲.n確定された曲の難易度 == (int)Difficulty.Dan)
            {
                IsAnimating = true;
            }
            base.On活性化();
        }
Example #3
0
 /// <summary>
 /// 段位チャレンジの数字フォントで数字を描画します。
 /// </summary>
 /// <param name="value">値。</param>
 /// <param name="x">一桁目のX座標。</param>
 /// <param name="y">一桁目のY座標</param>
 /// <param name="padding">桁数間の字間</param>
 /// <param name="scaleX">拡大率X</param>
 /// <param name="scaleY">拡大率Y</param>
 /// <param name="scaleJump">アニメーション用拡大率(Yに加算される)。</param>
 private void DrawNumber(int value, int x, int y, int padding,  bool bBig, Dan_C dan_c, float scaleX = 1.0f, float scaleY = 1.0f, float scaleJump = 0.0f)
 {
     if (bBig)
     {
         var notesRemainDigit = 0;
         for (int i = value.ToString().Length; i > 0; i--)
         {
             var       number    = Convert.ToInt32(value.ToString()[i - 1].ToString());
             Rectangle rectangle = new Rectangle(TJAPlayer3.Skin.Game_DanC_Number_Size[0] * number - 1, GetExamConfirmStatus(dan_c) ? 53 : 0, TJAPlayer3.Skin.Game_DanC_Number_Size[0], TJAPlayer3.Skin.Game_DanC_Number_Size[1]);
             if (TJAPlayer3.Tx.DanC_Number != null)
             {
                 TJAPlayer3.Tx.DanC_Number.vc拡大縮小倍率.X = scaleX;
                 TJAPlayer3.Tx.DanC_Number.vc拡大縮小倍率.Y = scaleY + scaleJump;
             }
             TJAPlayer3.Tx.DanC_Number?.t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device, x - (notesRemainDigit * padding), y, rectangle);
             notesRemainDigit++;
         }
     }
     else
     {
         var notesRemainDigit = 0;
         for (int i = value.ToString().Length; i > 0; i--)
         {
             var       number    = Convert.ToInt32(value.ToString()[i - 1].ToString());
             Rectangle rectangle = new Rectangle(TJAPlayer3.Skin.Game_DanC_Small_Number_Size[0] * number - 1, 0, TJAPlayer3.Skin.Game_DanC_Small_Number_Size[0], TJAPlayer3.Skin.Game_DanC_Small_Number_Size[1]);
             if (TJAPlayer3.Tx.DanC_Small_Number != null)
             {
                 TJAPlayer3.Tx.DanC_Small_Number.vc拡大縮小倍率.X = scaleX;
                 TJAPlayer3.Tx.DanC_Small_Number.vc拡大縮小倍率.Y = scaleY + scaleJump;
             }
             TJAPlayer3.Tx.DanC_Small_Number?.t2D拡大率考慮下中心基準描画(TJAPlayer3.app.Device, x - (notesRemainDigit * padding), y, rectangle);
             notesRemainDigit++;
         }
     }
 }
Example #4
0
        public Exam.Status GetExamStatus(Dan_C dan_C)
        {
            var status = Exam.Status.Better_Success;

            if (!dan_C.GetCleared()[1])
            {
                status = Exam.Status.Success;
            }
            if (!dan_C.GetCleared()[0])
            {
                status = Exam.Status.Failure;
            }
            return(status);
        }
        public override void On活性化()
        {
            for (int i = 0; i < 4; i++)
            {
                if (TJAPlayer3.DTX.Dan_C[i] != null)
                {
                    Challenge[i] = new Dan_C(TJAPlayer3.DTX.Dan_C[i]);
                }
            }
            FirstSectionAnime = false;
            // 始点を決定する。
            ExamCount        = 0;
            songsnotesremain = new int[TJAPlayer3.stage選曲.r確定された曲.DanSongs.Count];
            this.ct虹アニメ      = new CCounter(0, TJAPlayer3.Skin.Game_Gauge_Dan_Rainbow_Ptn - 1, 30, TJAPlayer3.Timer);
            this.ct虹透明度      = new CCounter(0, TJAPlayer3.Skin.Game_Gauge_Rainbow_Timer - 1, 1, TJAPlayer3.Timer);
            for (int i = 0; i < 4; i++)
            {
                if (Challenge[i] != null && Challenge[i].GetEnable() == true)
                {
                    this.ExamCount++;
                }
            }

            bExamChangeCheck = false;

            for (int i = 0; i < 4; i++)
            {
                Status[i] = new ChallengeStatus();
                Status[i].Timer_Amount = new CCounter();
                Status[i].Timer_Gauge  = new CCounter();
                Status[i].Timer_Failed = new CCounter();
            }
            IsEnded = false;

            if (TJAPlayer3.stage選曲.n確定された曲の難易度 == (int)Difficulty.Dan)
            {
                IsAnimating = true;
            }
            base.On活性化();
        }
Example #6
0
 public Dan_C(Dan_C dan_C) : this(dan_C.GetExamType(), new int[] { dan_C.GetValue(false), dan_C.GetValue(true) }, dan_C.GetExamRange())
 {
 }
Example #7
0
 public Dan_C(Dan_C dan_C) : this(dan_C.Type, dan_C.Value, dan_C.Range)
 {
 }