//

        public void Start(int number)
        {
            NowShowingNumber = number;
            Counter_In       = new CCounter(0, 999, 1, TJAPlayer3.Timer);
            ScreenPoint      = new double[] { TJAPlayer3.Skin.nScrollFieldBGX[0] - (TJAPlayer3.Tx.DanC_Screen?.szテクスチャサイズ.Width ?? 1280) / 2, 1280 };        //2020.06.06 Mr-Ojii twopointzero氏のソースコードをもとに改良
            TJAPlayer3.stage演奏ドラム画面.ReSetScore(TJAPlayer3.DTX[0].List_DanSongs[NowShowingNumber].ScoreInit, TJAPlayer3.DTX[0].List_DanSongs[NowShowingNumber].ScoreDiff, 0);
            IsAnimating = true;
            TJAPlayer3.stage演奏ドラム画面.actPanel.SetPanelString(TJAPlayer3.DTX[0].List_DanSongs[NowShowingNumber].Title, TJAPlayer3.DTX[0].List_DanSongs[NowShowingNumber].Genre, 1 + NowShowingNumber + "曲目");
            Sound_Section?.t再生を開始する();
        }
示例#2
0
        //

        public void Start(int number)
        {
            NowShowingNumber = number;
            Counter_In       = new CCounter(0, 999, 1, TJAPlayer3.Timer);
            ScreenPoint      = new double[] { TJAPlayer3.Skin.nScrollFieldBGX[0] - TJAPlayer3.Tx.DanC_Screen.szテクスチャサイズ.Width / 2, 1280 };
            TJAPlayer3.stage演奏ドラム画面.ReSetScore(TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].ScoreInit, TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].ScoreDiff);
            IsAnimating = true;
            TJAPlayer3.stage演奏ドラム画面.actPanel.SetPanelString(TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].Title, TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].Genre, 1 + NowShowingNumber + "曲目");
            Sound_Section?.tサウンドを先頭から再生する();
        }
示例#3
0
        // CActivity 実装

        public override void On活性化()
        {
            if (this.b活性化してる)
            {
                return;
            }

            ctBarAnime = new CCounter();

            base.On活性化();
        }
示例#4
0
 public override void OnManagedリソースの作成()
 {
     if (!base.b活性化してない)
     {
         //this.txScore = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\7_Score_number.png" ) );
         //            this.txScore_1P = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\7_Score_number_1P.png"));
         this.ctスコアランク表示  = new CCounter(0, 200, 20, TJAPlayer3.Timer);
         this.ctスコアランク表示1 = new CCounter(0, 200, 20, TJAPlayer3.Timer);
         base.OnManagedリソースの作成();
     }
 }
        public int EaseOut(CCounter counter, int startPoint, int endPoint, CalcType type)
        {
            StartPoint   = startPoint;
            EndPoint     = endPoint;
            Sa           = EndPoint - StartPoint;
            TimeMs       = (int)counter.n終了値;
            Type         = type;
            CounterValue = counter.n現在の値;

            switch (Type)
            {
            case CalcType.Quadratic:     //Quadratic
                CounterValue /= TimeMs;
                Value         = -Sa * CounterValue * (CounterValue - 2) + StartPoint;
                break;

            case CalcType.Cubic:     //Cubic
                CounterValue /= TimeMs;
                CounterValue--;
                Value = Sa * (CounterValue * CounterValue * CounterValue + 1) + StartPoint;
                break;

            case CalcType.Quartic:     //Quartic
                CounterValue /= TimeMs;
                CounterValue--;
                Value = -Sa * (CounterValue * CounterValue * CounterValue * CounterValue - 1) + StartPoint;
                break;

            case CalcType.Quintic:     //Quintic
                CounterValue /= TimeMs;
                CounterValue--;
                Value = Sa * (CounterValue * CounterValue * CounterValue * CounterValue * CounterValue + 1) + StartPoint;
                break;

            case CalcType.Sinusoidal:     //Sinusoidal
                Value = Sa * Math.Sin(CounterValue / TimeMs * (Math.PI / 2)) + StartPoint;
                break;

            case CalcType.Exponential:     //Exponential
                Value = Sa * (-Math.Pow(2, -10 * CounterValue / TimeMs) + 1) + StartPoint;
                break;

            case CalcType.Circular:     //Circular
                CounterValue /= TimeMs;
                CounterValue--;
                Value = Sa * Math.Sqrt(1 - CounterValue * CounterValue) + StartPoint;
                break;
            }

            return((int)Value);
        }
        public static int EaseOut(CCounter counter, int StartPoint, int EndPoint, CalcType type)
        {
            int    Sa           = EndPoint - StartPoint;
            int    TimeMs       = counter.n終了値;
            double CounterValue = counter.n現在の値;

            double Value;

            switch (type)
            {
            case CalcType.Quadratic:     //Quadratic
                CounterValue /= TimeMs;
                Value         = -Sa * CounterValue * (CounterValue - 2) + StartPoint;
                break;

            case CalcType.Cubic:     //Cubic
                CounterValue /= TimeMs;
                CounterValue--;
                Value = Sa * (CounterValue * CounterValue * CounterValue + 1) + StartPoint;
                break;

            case CalcType.Quartic:     //Quartic
                CounterValue /= TimeMs;
                CounterValue--;
                Value = -Sa * (CounterValue * CounterValue * CounterValue * CounterValue - 1) + StartPoint;
                break;

            case CalcType.Quintic:     //Quintic
                CounterValue /= TimeMs;
                CounterValue--;
                Value = Sa * (CounterValue * CounterValue * CounterValue * CounterValue * CounterValue + 1) + StartPoint;
                break;

            case CalcType.Sinusoidal:     //Sinusoidal
                Value = Sa * Math.Sin(CounterValue / TimeMs * (Math.PI / 2)) + StartPoint;
                break;

            case CalcType.Exponential:     //Exponential
                Value = Sa * (-Math.Pow(2, -10 * CounterValue / TimeMs) + 1) + StartPoint;
                break;

            default:     //Circular
                CounterValue /= TimeMs;
                CounterValue--;
                Value = Sa * Math.Sqrt(1 - CounterValue * CounterValue) + StartPoint;
                break;
            }

            return((int)Value);
        }
示例#7
0
        public void ChangeBPM(double bpm)
        {
            int n値 = Counter.n現在の値;

            Counter = new CCounter(0, TJAPlayer3.Skin.Game_PuchiChara[2] - 1, (int)(TJAPlayer3.Skin.Game_PuchiChara_Timer * bpm / TJAPlayer3.Skin.Game_PuchiChara[2]), TJAPlayer3.Timer);
            Counter.t時間Reset();
            Counter.n現在の値 = n値;

            double db値 = SineCounter.db現在の値;

            SineCounter        = new CCounter(1, 360, TJAPlayer3.Skin.Game_PuchiChara_SineTimer * bpm / 180, CSound管理.rc演奏用タイマ);
            SineCounter.db現在の値 = db値;
            SineCounter.t時間Resetdb();
        }
示例#8
0
        public virtual void FLUSH_COUNTER(String szCounterName, String msg)
        {
            CCounter pCounter = (CCounter)m_mapCounters.get(szCounterName);

            if (pCounter == null)
            {
                LOG.ERROR(szCounterName + " : Cannot find counter.");
                return;
            }

            long oInterval = pCounter.flush();

            LOG.INFO(szCounterName + (msg != null && msg.length() > 0 ? " - " : "") +
                     (msg != null && msg.length() > 0 ? msg : "") +
                     " (" + intervalToString(oInterval) + ") : STOP");
        }
示例#9
0
        public override void OnManagedリソースの作成()
        {
            if (!base.b活性化してない)
            {
                ct全体進行 = new CCounter(0, 20000, 1, TJAPlayer3.Timer);

                ctゲージアニメ  = new CCounter();
                ct虹ゲージアニメ = new CCounter();

                ctSoul = new CCounter();

                Dan_Plate = TJAPlayer3.tテクスチャの生成(Path.GetDirectoryName(TJAPlayer3.DTX.strファイル名の絶対パス) + @"\Dan_Plate.png");

                base.OnManagedリソースの作成();
            }
        }
示例#10
0
        public override void On活性化()
        {
            this.ct連打枠カウンター = new CCounter[4];
            this.ct連打アニメ    = new CCounter[4];
            FadeOutCounter  = new CCounter[4];
            for (int i = 0; i < 4; i++)
            {
                this.ct連打枠カウンター[i] = new CCounter();
                this.ct連打アニメ[i]    = new CCounter();
                FadeOutCounter[i]  = new CCounter();
            }
            this.b表示  = new bool[] { false, false, false, false };
            this.n連打数 = new int[4];

            base.On活性化();
        }
示例#11
0
        public void Family_Should_Be_Formatted_To_One_Line(string labelValue)
        {
            using (var ms = new MemoryStream())
            {
                var metricFamily = new CMetricFamily
                {
                    Name = "family1",
                    Help = "help",
                    Type = CMetricType.Counter
                };

                var metricCounter = new CCounter {
                    Value = 100
                };
                metricFamily.Metrics = new[]
                {
                    new CMetric
                    {
                        CCounter = metricCounter,
                        Labels   = new[]
                        {
                            new CLabelPair {
                                Name = "label1", Value = labelValue
                            }
                        }
                    }
                };

                TextFormatter.Format(ms, new[]
                {
                    metricFamily
                });

                using (var sr = new StringReader(Encoding.UTF8.GetString(ms.ToArray())))
                {
                    var linesCount = 0;
                    var line       = "";
                    while ((line = sr.ReadLine()) != null)
                    {
                        Console.WriteLine(line);
                        linesCount += 1;
                    }

                    Assert.Equal(3, linesCount);
                }
            }
        }
        public override void On活性化()
        {
            if (base.b活性化してる)
            {
                return;
            }

            this.b選択した = false;

            base.eフェーズID         = CStage.Eフェーズ.共通_通常状態;
            this.eフェードアウト完了時の戻り値 = E戻り値.継続;

            ctDonchan_In     = new CCounter();
            ctDonchan_Normal = new CCounter(0, TJAPlayer3.Tx.SongSelect_Donchan_Normal.Length - 1, 1000 / 45, TJAPlayer3.Timer);

            base.On活性化();
        }
示例#13
0
        // CActivity 実装

        public override void On非活性化()
        {
            if (!base.b活性化してない)
            {
                this.ctどんちゃんモーション  = new CCounter();
                this.counter_Chara = new CCounter();
                this.ctどんちゃんモーション  = null;

                this.counter_Chara = null;
                this.counter_FI    = new CCounter();
                this.counter_FI    = null;
                counter_L_R        = new CCounter();
                counter_L_R        = null;
                //TJAPlayer3.tテクスチャの解放( ref this.tx幕 );
                base.On非活性化();
            }
        }
        //

        public void Start(int number)
        {
            NowShowingNumber = number;
            if (number == 0)
            {
                Counter_Wait = new CCounter(0, 2299, 1, TJAPlayer3.Timer);
            }
            else
            {
                Counter_In = new CCounter(0, 999, 1, TJAPlayer3.Timer);
            }
            bExamChangeCheck = false;

            if (number == 0)
            {
                for (int i = 1; i < 4; i++)
                {
                    ExamChange[i] = false;
                }

                for (int j = 1; j < 4; j++)  //段位条件のループ(魂ゲージを除く) 縦(y)
                {
                    if (TJAPlayer3.stage選曲.r確定された曲.DanSongs[0].Dan_C[j] != null)
                    {
                        if (TJAPlayer3.stage選曲.r確定された曲.DanSongs[TJAPlayer3.stage選曲.r確定された曲.DanSongs.Count - 1].Dan_C[j] != null) //個別の条件がありますよー
                        {
                            Challenge[j]  = TJAPlayer3.stage選曲.r確定された曲.DanSongs[NowShowingNumber].Dan_C[j];
                            ExamChange[j] = true;
                        }
                    }
                }
            }

            ScreenPoint = new double[] { TJAPlayer3.Skin.nScrollFieldBGX[0] - TJAPlayer3.Tx.DanC_Screen.szテクスチャサイズ.Width / 2, 1280 };
            TJAPlayer3.stage演奏ドラム画面.ReSetScore(TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].ScoreInit, TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].ScoreDiff);
            IsAnimating = true;
            TJAPlayer3.stage演奏ドラム画面.actPanel.SetPanelString(TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].Title, TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].Genre, 1 + NowShowingNumber + "曲目");
            if (number == 0)
            {
                Sound_Section_First?.t再生を開始する();
            }
            else
            {
                Sound_Section?.t再生を開始する();
            }
        }
示例#15
0
        public override void On活性化()
        {
            for (int i = 0; i < 2; i++)
            {
                ctChara_Normal[i] = new CCounter();
                ctChara_GoGo[i]   = new CCounter();
                ctChara_Clear[i]  = new CCounter();

                this.ctキャラクターアクション_10コンボ[i]       = new CCounter();
                this.ctキャラクターアクション_10コンボMAX[i]    = new CCounter();
                this.ctキャラクターアクション_ゴーゴースタート[i]    = new CCounter();
                this.ctキャラクターアクション_ゴーゴースタートMAX[i] = new CCounter();
                this.ctキャラクターアクション_ノルマ[i]         = new CCounter();
                this.ctキャラクターアクション_魂MAX[i]        = new CCounter();

                CharaAction_Balloon_Breaking[i] = new CCounter();
                CharaAction_Balloon_Broke[i]    = new CCounter();
                CharaAction_Balloon_Miss[i]     = new CCounter();
                CharaAction_Balloon_Delay[i]    = new CCounter();

                this.b風船連打中[i] = false;
                this.b演奏中[i]   = false;

                CharaAction_Balloon_FadeOut[i] = new Animations.FadeOut(TJAPlayer3.Skin.Game_Chara_Balloon_FadeOut);

                this.bマイどんアクション中[i] = false;
            }

            // ふうせん系アニメーションの総再生時間は画像枚数 x Tick間隔なので、
            // フェードアウトの開始タイミングは、総再生時間 - フェードアウト時間。
            var tick            = TJAPlayer3.Skin.Game_Chara_Balloon_Timer;
            var balloonBrokePtn = TJAPlayer3.Skin.Game_Chara_Ptn_Balloon_Broke;
            var balloonMissPtn  = TJAPlayer3.Skin.Game_Chara_Ptn_Balloon_Miss;

            CharaAction_Balloon_FadeOut_StartMs[0] = (balloonBrokePtn * tick) - TJAPlayer3.Skin.Game_Chara_Balloon_FadeOut;
            CharaAction_Balloon_FadeOut_StartMs[1] = (balloonMissPtn * tick) - TJAPlayer3.Skin.Game_Chara_Balloon_FadeOut;
            if (balloonBrokePtn > 1)
            {
                CharaAction_Balloon_FadeOut_StartMs[0] /= balloonBrokePtn - 1;
            }
            if (balloonMissPtn > 1)
            {
                CharaAction_Balloon_FadeOut_StartMs[1] /= balloonMissPtn - 1;                     // - 1はタイマー用
            }
            base.On活性化();
        }
示例#16
0
        public virtual void START(String szCounterName)
        {
            CCounter pCounter = (CCounter)m_mapCounters.get(szCounterName);

            if (pCounter == null || !pCounter.isWasStarted())
            {
                LOG.INFO(szCounterName + " : START");
            }

            if (pCounter == null)
            {
                m_mapCounters.put(szCounterName, new CCounter(true));
            }
            else
            {
                pCounter.start();
            }
        }
示例#17
0
        //

        public void Start(int number)
        {
            NowShowingNumber = number;
            Counter_In       = new CCounter(0, 999, 1, TJAPlayer3.Timer);
            ScreenPoint      = new double[] { TJAPlayer3.Skin.nScrollFieldBGX[0] - TJAPlayer3.Tx.DanC_Screen.szテクスチャサイズ.Width / 2, 1280 };
            TJAPlayer3.stage演奏ドラム画面.ReSetScore(TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].ScoreInit, TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].ScoreDiff);
            IsAnimating = true;
            TJAPlayer3.stage演奏ドラム画面.actPanel.SetPanelString(TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].Title, TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].Genre, 1 + NowShowingNumber + "曲目");
            var pfTitle    = new CPrivateFont();
            var pfSubTitle = new CPrivateFont();

            if (!string.IsNullOrEmpty(TJAPlayer3.ConfigIni.FontName))
            {
                pfTitle    = new CPrivateFont(new FontFamily(TJAPlayer3.ConfigIni.FontName), 30);
                pfSubTitle = new CPrivateFont(new FontFamily(TJAPlayer3.ConfigIni.FontName), 22);
            }
            else
            {
                pfTitle    = new CPrivateFont(new FontFamily("MS UI Gothic"), 30);
                pfSubTitle = new CPrivateFont(new FontFamily("MS UI Gothic"), 22);
            }

            if (!string.IsNullOrEmpty(TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].Title))
            {
                using (var bmpSongTitle = pfTitle.DrawPrivateFont(TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].Title, Color.White, Color.Black))
                {
                    TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].TitleTex            = TJAPlayer3.tテクスチャの生成(bmpSongTitle, false);
                    TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].TitleTex.vc拡大縮小倍率.X = TJAPlayer3.GetSongNameXScaling(ref TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].TitleTex, 710);
                }
            }

            if (!string.IsNullOrEmpty(TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].SubTitle))
            {
                using (var bmpSongSubTitle = pfSubTitle.DrawPrivateFont(TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].SubTitle, Color.White, Color.Black))
                {
                    TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].SubTitleTex            = TJAPlayer3.tテクスチャの生成(bmpSongSubTitle, false);
                    TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].SubTitleTex.vc拡大縮小倍率.X = TJAPlayer3.GetSongNameXScaling(ref TJAPlayer3.DTX.List_DanSongs[NowShowingNumber].SubTitleTex, 710);
                }
            }

            pfTitle?.Dispose();
            pfSubTitle?.Dispose();
            Sound_Section?.tサウンドを先頭から再生する();
        }
            public          CCounter this[int index]
            {
                get
                {
                    switch (index)
                    {
                    case 0:
                        return(this.Up);

                    case 1:
                        return(this.Down);

                    case 2:
                        return(this.R);

                    case 3:
                        return(this.B);
                    }
                    throw new IndexOutOfRangeException();
                }
                set
                {
                    switch (index)
                    {
                    case 0:
                        this.Up = value;
                        return;

                    case 1:
                        this.Down = value;
                        return;

                    case 2:
                        this.R = value;
                        return;

                    case 3:
                        this.B = value;
                        return;
                    }
                    throw new IndexOutOfRangeException();
                }
            }
        // CActivity 実装

        public override void On活性化()
        {
            if (this.b活性化してる)
            {
                return;
            }

            this.n目標のスクロールカウンタ = 0;
            this.n現在のスクロールカウンタ = 0;
            ct決定待機             = new CCounter();

            this.b曲選択 = false;
            // フォント作成。
            // 曲リスト文字は2倍(面積4倍)でテクスチャに描画してから縮小表示するので、フォントサイズは2倍とする。
            this.ctBarAnime = new CCounter();
            this.ct移動       = new CCounter();

            base.On活性化();
        }
示例#20
0
        public override void OnManagedリソースの作成()
        {
            if (this.b活性化してない)
            {
                return;
            }

            if (TJAPlayer3.Tx.SongSelect_Difficulty_Bar != null)
            {
                ctカーソル点滅アニメ = new CCounter(0, 384, 2, TJAPlayer3.Timer);
            }
            if (TJAPlayer3.Tx.SongSelect_Difficulty_Bar_Back != null)
            {
                ctミニカーソル点滅アニメ = new CCounter(0, 384, 2, TJAPlayer3.Timer);
            }
            if (TJAPlayer3.Tx.SongSelect_Difficulty_Branch != null)
            {
                ct譜面分岐 = new CCounter(1, 200, 10, TJAPlayer3.Timer);
            }
            if (TJAPlayer3.Tx.SongSelect_Difficulty_Select_Switch != null)
            {
                ct裏譜面へ = new CCounter(0, 992, 1, TJAPlayer3.Timer);
                ct表譜面へ = new CCounter(0, 992, 1, TJAPlayer3.Timer);
            }

            this.sound難しさを選ぶ     = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\SongSelect\Difficulty_Select.ogg"), ESoundGroup.SoundEffect);
            this.sound段位チャレンジ選択音 = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Dan_Select.wav"), ESoundGroup.SoundEffect);
            this.sound裏切り替え音     = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\SongSelect\Edit_Switch.ogg"), ESoundGroup.SoundEffect);
            this.sound曲を選ぶドン     = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Game start.ogg"), ESoundGroup.SoundEffect);
            this.soundエラー音       = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Error.ogg"), ESoundGroup.SoundEffect);
            this.sound演奏オプション    = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Song_Option\Song_Option.wav"), ESoundGroup.Voice);
            this.sound真打         = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Song_Option\Sin.wav"), ESoundGroup.Voice);
            this.sound倍速         = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Song_Option\2Speed.wav"), ESoundGroup.Voice);
            this.sound3倍         = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Song_Option\3Speed.wav"), ESoundGroup.Voice);
            this.sound4倍         = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Song_Option\4Speed.wav"), ESoundGroup.Voice);
            this.soundあべこべ       = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Song_Option\Mirror.wav"), ESoundGroup.Voice);
            this.soundきまぐれ       = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Song_Option\Super_Random.wav"), ESoundGroup.Voice);
            this.soundでたらめ       = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Song_Option\Hyper_Random.wav"), ESoundGroup.Voice);
            this.soundドロン        = TJAPlayer3.Sound管理.tサウンドを生成する(CSkin.Path(@"Sounds\Song_Option\Doron.wav"), ESoundGroup.Voice);

            base.OnManagedリソースの作成();
        }
        public override void On活性化()
        {
            ctChara_Normal = new CCounter();
            ctChara_GoGo   = new CCounter();
            ctChara_Clear  = new CCounter();

            this.ctキャラクターアクション_10コンボ       = new CCounter();
            this.ctキャラクターアクション_10コンボMAX    = new CCounter();
            this.ctキャラクターアクション_ゴーゴースタート    = new CCounter();
            this.ctキャラクターアクション_ゴーゴースタートMAX = new CCounter();
            this.ctキャラクターアクション_ノルマ         = new CCounter();
            this.ctキャラクターアクション_魂MAX        = new CCounter();

            CharaAction_Balloon_Breaking = new CCounter();
            CharaAction_Balloon_Broke    = new CCounter();
            CharaAction_Balloon_Miss     = new CCounter();
            CharaAction_Balloon_Delay    = new CCounter();

            this.b風船連打中 = false;


            CharaAction_Balloon_FadeOut = new Animations.FadeOut(TJAPlayer3.Skin.Game_Chara_Balloon_FadeOut);
            // ふうせん系アニメーションの総再生時間は画像枚数 x Tick間隔なので、
            // フェードアウトの開始タイミングは、総再生時間 - フェードアウト時間。
            var tick            = TJAPlayer3.Skin.Game_Chara_Balloon_Timer;
            var balloonBrokePtn = TJAPlayer3.Skin.Game_Chara_Ptn_Balloon_Broke;
            var balloonMissPtn  = TJAPlayer3.Skin.Game_Chara_Ptn_Balloon_Miss;

            CharaAction_Balloon_FadeOut_StartMs[0] = (balloonBrokePtn * tick) - TJAPlayer3.Skin.Game_Chara_Balloon_FadeOut;
            CharaAction_Balloon_FadeOut_StartMs[1] = (balloonMissPtn * tick) - TJAPlayer3.Skin.Game_Chara_Balloon_FadeOut;
            if (balloonBrokePtn > 1)
            {
                CharaAction_Balloon_FadeOut_StartMs[0] /= balloonBrokePtn - 1;
            }
            if (balloonMissPtn > 1)
            {
                CharaAction_Balloon_FadeOut_StartMs[1] /= balloonMissPtn - 1;                     // - 1はタイマー用
            }
            this.bマイどんアクション中 = false;

            base.On活性化();
        }
示例#22
0
        public override void On活性化()
        {
            ctChara_Normal = new CCounter();
            ctChara_GoGo   = new CCounter();
            ctChara_Clear  = new CCounter();

            this.ctキャラクターアクション_10コンボ       = new CCounter();
            this.ctキャラクターアクション_10コンボMAX    = new CCounter();
            this.ctキャラクターアクション_ゴーゴースタート    = new CCounter();
            this.ctキャラクターアクション_ゴーゴースタートMAX = new CCounter();
            this.ctキャラクターアクション_ノルマ         = new CCounter();
            this.ctキャラクターアクション_魂MAX        = new CCounter();

            this.b風船連打中 = false;
            this.b演奏中   = false;

            this.bマイどんアクション中 = false;

            base.On活性化();
        }
        public override void OnManagedリソースの作成()
        {
            if (!base.b活性化してない)
            {
                ctゲージアニメーション            = new CCounter();
                ct全体アニメ                 = new CCounter(0, 13660, 1, TJAPlayer3.Timer);
                ctSoulFlash             = new CCounter(0, 1, 33, TJAPlayer3.Timer);
                ctSoul                  = new CCounter(0, 8, 33, TJAPlayer3.Timer);
                ctRainbowGauge          = new CCounter(0, 40, 1000 / 60, TJAPlayer3.Timer);
                ctEndAnime              = new CCounter();
                ctBackgroundAnime       = new CCounter(0, 1000, 1, TJAPlayer3.Timer);
                ctBackgroundAnime_Clear = new CCounter(0, 1000, 1, TJAPlayer3.Timer);
                ctMountain_ClearIn      = new CCounter();

                ctDonchan_Normal = new CCounter(0, TJAPlayer3.Tx.Result_Donchan_Normal.Length - 1, 1000 / 60, TJAPlayer3.Timer);
                ctDonchan_Clear  = new CCounter();

                Dan_Plate = TJAPlayer3.tテクスチャの生成(Path.GetDirectoryName(TJAPlayer3.DTX.strファイル名の絶対パス) + @"\Dan_Plate.png");
                base.OnManagedリソースの作成();
            }
        }
 public override void OnManagedリソースの作成()
 {
     if (!base.b活性化してない)
     {
         for (int i = 0; i < 6; i++)
         {
             b音声再生[i] = false;
         }
         ctゲージアニメーション            = new CCounter();
         ct全体アニメ                 = new CCounter(0, 12660, 1, TJAPlayer3.Timer);
         ctSoulFlash             = new CCounter(0, 1, 33, TJAPlayer3.Timer);
         ctSoul                  = new CCounter(0, 8, 33, TJAPlayer3.Timer);
         ctRainbowGauge          = new CCounter(0, 40, 1000 / 60, TJAPlayer3.Timer);
         ctEndAnime              = new CCounter();
         ctBackgroundAnime       = new CCounter(0, 1000, 1, TJAPlayer3.Timer);
         ctBackgroundAnime_Clear = new CCounter(0, 1000, 1, TJAPlayer3.Timer);
         ctMountain_ClearIn      = new CCounter();
         Dan_Plate               = TJAPlayer3.tテクスチャの生成(Path.GetDirectoryName(TJAPlayer3.DTX.strファイル名の絶対パス) + @"\Dan_Plate.png");
         base.OnManagedリソースの作成();
     }
 }
示例#25
0
        public void BonusAdd(int player)
        {
            for (int sc = 0; sc < 1; sc++)
            {
                for (int i = 0; i < 256; i++)
                {
                    if (this.stScore[i].b使用中 == false)
                    {
                        this.stScore[i].b使用中        = true;
                        this.stScore[i].b表示中        = true;
                        this.stScore[i].nAddScore   = 10000;
                        this.stScore[i].ctTimer     = new CCounter(0, 400, 1, TJAPlayer3.Timer);
                        this.stScore[i].bBonusScore = true;
                        this.stScore[i].nPlayer     = player;
                        this.n現在表示中のAddScore++;
                        break;
                    }
                }
            }

            this.Set(E楽器パート.TAIKO, this.Get(E楽器パート.TAIKO, player) + 10000, player);
        }
示例#26
0
 public override void OnManagedリソースの作成()
 {
     this.arモーション番号     = C変換.ar配列形式のstringをint配列に変換して返す(CDTXMania.Skin.Game_Chara_Motion_Normal);
     this.arゴーゴーモーション番号 = C変換.ar配列形式のstringをint配列に変換して返す(CDTXMania.Skin.Game_Chara_Motion_GoGo);
     this.arクリアモーション番号  = C変換.ar配列形式のstringをint配列に変換して返す(CDTXMania.Skin.Game_Chara_Motion_Clear);
     if (arモーション番号 == null)
     {
         this.arモーション番号 = C変換.ar配列形式のstringをint配列に変換して返す("0,0");
     }
     if (arゴーゴーモーション番号 == null)
     {
         this.arゴーゴーモーション番号 = C変換.ar配列形式のstringをint配列に変換して返す("0,0");
     }
     if (arクリアモーション番号 == null)
     {
         this.arクリアモーション番号 = C変換.ar配列形式のstringをint配列に変換して返す("0,0");
     }
     ctChara_Normal = new CCounter(0, arモーション番号.Length - 1, 10, CSound管理.rc演奏用タイマ);
     ctChara_GoGo   = new CCounter(0, arゴーゴーモーション番号.Length - 1, 10, CSound管理.rc演奏用タイマ);
     ctChara_Clear  = new CCounter(0, arクリアモーション番号.Length - 1, 10, CSound管理.rc演奏用タイマ);
     base.OnManagedリソースの作成();
 }
示例#27
0
        private void stopCounter(String szCounterName, boolean bDestroy)
        {
            CCounter pCounter = (CCounter)m_mapCounters.get(szCounterName);

            if (pCounter == null)
            {
                LOG.ERROR(szCounterName + " : Cannot find counter.");
                return;
            }

            if (bDestroy || !pCounter.isGlobal())
            {
                long oInterval = pCounter.stop();
                LOG.INFO(szCounterName + " (" + intervalToString(oInterval) + ") : STOP");

                m_mapCounters.remove(szCounterName);
            }
            else
            {
                pCounter.stop();
            }
        }
示例#28
0
        //

        public void Start(int number)
        {
            if (TJAPlayer4.stage選曲.n確定された曲の難易度[0] != (int)Difficulty.Dan)
            {
                return;
            }
            NowShowingNumber = number;

            nNowCombo     = 0;
            nPerfectCount = TJAPlayer4.stage演奏ドラム画面.nヒット数_Auto含む[0].Drums.Perfect + TJAPlayer4.stage演奏ドラム画面.nヒット数_Auto含まない[0].Drums.Perfect;
            nGoodCount    = TJAPlayer4.stage演奏ドラム画面.nヒット数_Auto含む[0].Drums.Great + TJAPlayer4.stage演奏ドラム画面.nヒット数_Auto含まない[0].Drums.Great;
            nMissCount    = TJAPlayer4.stage演奏ドラム画面.nヒット数_Auto含まない[0].Drums.Miss;
            nRollCount    = TJAPlayer4.stage演奏ドラム画面.GetRoll(0);
            nScoreCount   = (int)TJAPlayer4.stage演奏ドラム画面.actScore.GetScore(0);
            Counter_In    = new CCounter(0, 999, 1, TJAPlayer4.Timer);
            Update(false);
            ScreenPoint = new double[] { TJAPlayer4.Skin.nScrollFieldBGX[0] - TJAPlayer4.Tx.DanC_Screen.szテクスチャサイズ.Width / 2, 1280 };
            TJAPlayer4.stage演奏ドラム画面.ReSetScore(TJAPlayer4.DTX[0].List_DanSongs[NowShowingNumber].ScoreInit, TJAPlayer4.DTX[0].List_DanSongs[NowShowingNumber].ScoreDiff, 0);
            IsAnimating = true;
            TJAPlayer4.stage演奏ドラム画面.actPanel.SetPanelString(TJAPlayer4.DTX[0].List_DanSongs[NowShowingNumber].Title, TJAPlayer4.DTX[0].List_DanSongs[NowShowingNumber].Genre, 1 + NowShowingNumber + "曲目");
            Sound_Section?.tサウンドを先頭から再生する();
        }
示例#29
0
 public override void OnActivate()
 {
     rectパネル基本位置          = new Rectangle(390, 200, 500, 40);
     b表示中                 = false;
     b入力中                 = false;
     b入力終了直後              = false;
     b次のフレームで入力中にする       = false;
     b入力終了時に非表示にする        = false;
     b検索説明文表示             = false;
     str入力中文字列            = "";
     str確定文字列             = "";
     strIME入力中文字列         = "";
     strIME確定文字列          = "";
     strIME入力中文字列_前フレーム   = "";
     strIME確定文字列_前回       = "";
     bIME確定文字列を入力した直後     = false;
     nカーソル位置              = 0;
     nカーソル座標X             = 0;
     ctカーソル               = new CCounter(1, 1000, 1, CDTXMania.Timer);
     n前回確定した文字列リスト_参照カウンタ = L前回確定した文字列リスト.Count;
     base.OnActivate();
 }
示例#30
0
        public void tSongChange()
        {
            this.ct登場アニメ用 = new CCounter(0, 2000, 1, TJAPlayer3.Timer);

            //Dispose
            TJAPlayer3.t安全にDisposeする(ref this.First);
            TJAPlayer3.t安全にDisposeする(ref this.Second);
            TJAPlayer3.t安全にDisposeする(ref this.Third);

            if (TJAPlayer3.stage選曲.act曲リスト.r現在選択中のスコア != null)
            {
                string[] First  = TJAPlayer3.stage選曲.act曲リスト.r現在選択中のスコア.譜面情報.strHiScorerName;
                string[] Second = TJAPlayer3.stage選曲.act曲リスト.r現在選択中のスコア.譜面情報.strSecondScorerName;
                string[] Third  = TJAPlayer3.stage選曲.act曲リスト.r現在選択中のスコア.譜面情報.strThirdScorerName;

                if (Font != null)
                {
                    for (int index = 0; index < (int)Difficulty.Total; index++)
                    {
                        if (!string.IsNullOrEmpty(First[index]))
                        {
                            this.First[index]           = TJAPlayer3.tCreateTexture(Font.DrawPrivateFont(First[index], Color.Black));
                            this.First[index].vcScaling = new Vector3(0.5f);
                        }
                        if (!string.IsNullOrEmpty(Second[index]))
                        {
                            this.Second[index]           = TJAPlayer3.tCreateTexture(Font.DrawPrivateFont(Second[index], Color.Black));
                            this.Second[index].vcScaling = new Vector3(0.5f);
                        }
                        if (!string.IsNullOrEmpty(Third[index]))
                        {
                            this.Third[index]           = TJAPlayer3.tCreateTexture(Font.DrawPrivateFont(Third[index], Color.Black));
                            this.Third[index].vcScaling = new Vector3(0.5f);
                        }
                    }
                }
            }
        }