2021-09-21 00:16:38 +02:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
|
|
|
|
|
namespace TJAPlayer3
|
|
|
|
|
{
|
|
|
|
|
[Serializable]
|
|
|
|
|
internal class C曲リストノード
|
|
|
|
|
{
|
|
|
|
|
// プロパティ
|
|
|
|
|
|
|
|
|
|
public Eノード種別 eノード種別 = Eノード種別.UNKNOWN;
|
|
|
|
|
public enum Eノード種別
|
|
|
|
|
{
|
|
|
|
|
SCORE,
|
|
|
|
|
SCORE_MIDI,
|
|
|
|
|
BOX,
|
|
|
|
|
BACKBOX,
|
|
|
|
|
RANDOM,
|
|
|
|
|
UNKNOWN
|
|
|
|
|
}
|
|
|
|
|
public int nID { get; private set; }
|
|
|
|
|
public Cスコア[] arスコア = new Cスコア[(int)Difficulty.Total];
|
2021-12-11 08:19:50 +01:00
|
|
|
|
|
2021-09-21 00:16:38 +02:00
|
|
|
|
public string[] ar難易度ラベル = new string[(int)Difficulty.Total];
|
|
|
|
|
public bool bDTXFilesで始まるフォルダ名のBOXである;
|
|
|
|
|
public bool bBoxDefで作成されたBOXである
|
|
|
|
|
{
|
|
|
|
|
get
|
|
|
|
|
{
|
|
|
|
|
return !this.bDTXFilesで始まるフォルダ名のBOXである;
|
|
|
|
|
}
|
|
|
|
|
set
|
|
|
|
|
{
|
|
|
|
|
this.bDTXFilesで始まるフォルダ名のBOXである = !value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public Color col文字色 = Color.White;
|
|
|
|
|
public Color ForeColor = Color.White;
|
|
|
|
|
public Color BackColor = Color.Black;
|
2021-10-18 02:32:30 +02:00
|
|
|
|
public Color BoxColor = Color.White;
|
2021-10-19 03:54:45 +02:00
|
|
|
|
|
|
|
|
|
public Color BgColor = Color.White;
|
|
|
|
|
public bool isChangedBgColor;
|
|
|
|
|
public bool isChangedBgType;
|
|
|
|
|
public bool isChangedBoxType;
|
|
|
|
|
public int BoxType;
|
|
|
|
|
public int BgType;
|
2021-10-23 11:53:04 +02:00
|
|
|
|
public int BoxChara;
|
|
|
|
|
public bool isChangedBoxChara;
|
2021-10-19 03:54:45 +02:00
|
|
|
|
|
2021-09-21 00:16:38 +02:00
|
|
|
|
public bool IsChangedForeColor;
|
|
|
|
|
public bool IsChangedBackColor;
|
2021-10-18 02:32:30 +02:00
|
|
|
|
public bool isChangedBoxColor;
|
2021-09-21 00:16:38 +02:00
|
|
|
|
public List<C曲リストノード> listランダム用ノードリスト;
|
|
|
|
|
public List<C曲リストノード> list子リスト;
|
|
|
|
|
public int nGood範囲ms = -1;
|
|
|
|
|
public int nGreat範囲ms = -1;
|
|
|
|
|
public int nPerfect範囲ms = -1;
|
|
|
|
|
public int nPoor範囲ms = -1;
|
|
|
|
|
public int nスコア数;
|
2022-01-03 00:28:39 +01:00
|
|
|
|
|
2021-09-21 00:16:38 +02:00
|
|
|
|
public C曲リストノード r親ノード;
|
2022-01-03 00:28:39 +01:00
|
|
|
|
|
2021-09-21 00:16:38 +02:00
|
|
|
|
public int Openindex;
|
2022-06-24 10:06:30 +02:00
|
|
|
|
public bool bIsOpenFolder;
|
2021-09-21 00:16:38 +02:00
|
|
|
|
public Stack<int> stackランダム演奏番号 = new Stack<int>();
|
|
|
|
|
public string strジャンル = "";
|
|
|
|
|
public string str本当のジャンル = "";
|
|
|
|
|
public string strタイトル = "";
|
|
|
|
|
public List<CDTX.DanSongs> DanSongs;
|
|
|
|
|
public Dan_C[] Dan_C;
|
|
|
|
|
public string strサブタイトル = "";
|
|
|
|
|
public string strBreadcrumbs = ""; // #27060 2011.2.27 yyagi; MUSIC BOXのパンくずリスト (曲リスト構造内の絶対位置捕捉のために使う)
|
|
|
|
|
public string strSkinPath = ""; // #28195 2012.5.4 yyagi; box.defでのスキン切り替え対応
|
|
|
|
|
public bool bBranch = false;
|
|
|
|
|
public int[] nLevel = new int[(int)Difficulty.Total]{ 0, 0, 0, 0, 0, 0, 0 };
|
2021-10-14 02:48:44 +02:00
|
|
|
|
|
|
|
|
|
// Tower Lives
|
|
|
|
|
public int nLife = 5;
|
2021-10-16 21:22:04 +02:00
|
|
|
|
public int nTotalFloor = 140;
|
2022-03-03 02:08:29 +01:00
|
|
|
|
public int nTowerType = 0;
|
|
|
|
|
|
|
|
|
|
// Unique id
|
|
|
|
|
public CSongUniqueID uniqueId;
|
2021-10-31 23:21:52 +01:00
|
|
|
|
|
|
|
|
|
public int nDanTick = 0;
|
|
|
|
|
public Color cDanTickColor = Color.White;
|
2021-10-14 02:48:44 +02:00
|
|
|
|
|
2021-09-21 00:16:38 +02:00
|
|
|
|
public string[] strBoxText = new string[3];
|
|
|
|
|
public Eジャンル eジャンル = Eジャンル.None;
|
|
|
|
|
|
|
|
|
|
// コンストラクタ
|
|
|
|
|
|
|
|
|
|
public C曲リストノード()
|
|
|
|
|
{
|
|
|
|
|
this.nID = id++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public C曲リストノード Clone()
|
2022-01-03 00:28:39 +01:00
|
|
|
|
{
|
2021-09-21 00:16:38 +02:00
|
|
|
|
return (C曲リストノード)MemberwiseClone();
|
|
|
|
|
}
|
|
|
|
|
|
2021-11-29 04:53:37 +01:00
|
|
|
|
public override bool Equals(object other)
|
|
|
|
|
{
|
|
|
|
|
if (other.GetType() == typeof(C曲リストノード))
|
|
|
|
|
{
|
|
|
|
|
C曲リストノード obj = (C曲リストノード)other;
|
|
|
|
|
return this.nID == obj.nID;
|
|
|
|
|
}
|
|
|
|
|
return this.GetHashCode() == other.GetHashCode();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override int GetHashCode()
|
|
|
|
|
{
|
|
|
|
|
return base.GetHashCode();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// その他
|
|
|
|
|
|
|
|
|
|
#region [ private ]
|
|
|
|
|
//-----------------
|
|
|
|
|
private static int id;
|
2021-09-21 00:16:38 +02:00
|
|
|
|
//-----------------
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
}
|