OSDN Git Service

チップクラスに「可視の初期値」プロパティを追加。
authorくまかみ工房 <kumakamikoubou@gmail.com>
Mon, 31 Oct 2016 02:04:49 +0000 (11:04 +0900)
committerくまかみ工房 <kumakamikoubou@gmail.com>
Mon, 31 Oct 2016 02:04:49 +0000 (11:04 +0900)
演奏を巻き戻せるようにするためには演奏済みのチップを演奏前の状態に戻す必要があるが、チップが初期状態で可視か不可視かはチップ種別によって異なる。

SSTFormat/スコア.cs
SSTFormat/チップ.cs

index 341cd04..af447f2 100644 (file)
@@ -567,16 +567,9 @@ namespace SSTFormat
                                                                        小節解像度 = 現在の小節解像度,
                                                                        音量 = 4,
                                                                };
+                                                               chip.可視 = chip.可視の初期値;
                                                                if( chip.チップ種別 == チップ種別.China ) chip.チップ内文字列 = "C N";
                                                                if( chip.チップ種別 == チップ種別.Splash ) chip.チップ内文字列 = "S P";
-
-                                                               if( ( e現在のチップ == チップ種別.BPM ) ||
-                                                                       ( e現在のチップ == チップ種別.背景動画 ) ||
-                                                                       ( e現在のチップ == チップ種別.小節メモ ) ||
-                                                                       ( e現在のチップ == チップ種別.Unknown ) )
-                                                               {
-                                                                       chip.可視 = false;
-                                                               }
                                                                //-----------------
                                                                #endregion
 
index fea7db4..927e5b3 100644 (file)
@@ -72,6 +72,19 @@ namespace SSTFormat
                        get { return !this.可視; }
                        set { this.可視 = !value; }
                }
+               public bool 可視の初期値
+               {
+                       get
+                       {
+                               return (
+                                       // ↓これらは不可視。
+                                       ( this.チップ種別 == チップ種別.BPM ) ||
+                                       ( this.チップ種別 == チップ種別.背景動画 ) ||
+                                       ( this.チップ種別 == チップ種別.小節メモ ) ||
+                                       ( this.チップ種別 == チップ種別.Unknown )
+                                       ) ? false : true;
+                               }
+                       }
                public bool ヒット済みである { get; set; } = false;
                public bool ヒットされていない
                {
@@ -139,6 +152,14 @@ namespace SSTFormat
                        this.チップ内文字列 = srcChip.チップ内文字列;
                        this.枠外レーン数 = srcChip.枠外レーン数;
                }
+               public void ヒット前の状態にする()
+               {
+                       // 演奏用プロパティについて設定する。
+
+                       this.可視 = this.可視の初期値;
+                       this.ヒット済みである = false;
+                       this.発声済みである = false;
+               }
 
                #region " IComparable 実装 "
                //-----------------