using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
namespace DTXCreator.譜面
{
public class Cレーン
{
public const int LANEWIDTH = 30;
public enum E種別
{
BPM,
BEAT,
WAV,
BMP,
AVI,
FI,
GtV,
GtR,
GtG,
GtB,
GtW,
BsV,
BsR,
BsG,
BsB,
BsW
}
public enum ELaneType
{
BPM,
Beat,
Drums,
BGM,
SE1_5,
SE6_32,
Guitar,
Bass,
AVI,
BGA1_5,
BGA6_8,
END // 何か非値を設定したくなったときのための値(nullの代わり)
}
public bool b左側の線が太線;
public Color col背景色 = Color.Black;
public E種別 eレーン種別 = E種別.WAV;
public int nチャンネル番号・表00toFF;
public int nチャンネル番号・裏00toFF;
public int nレーン割付チップ・表0or1to1295;
public int nレーン割付チップ・裏0or1to1295;
public int n位置Xdot;
public int n幅dot = 30;
public string strレーン名 = "";
public ELaneType eLaneType { get; set; }
public bool bIsVisible //
{
get
{
return ( n幅dot > 0 );
}
set
{
n幅dot = ( value == true ) ? LANEWIDTH : 0;
}
}
///
/// コンストラクタ
///
public Cレーン()
{
this.eレーン種別 = E種別.WAV;
this.strレーン名 = "";
this.nチャンネル番号・表00toFF = 0;
this.nチャンネル番号・裏00toFF = 0;
this.b左側の線が太線 = false;
this.col背景色 = Color.FromArgb(0, 0, 0, 0);
this.n位置Xdot = 0;
this.n幅dot = 30;
this.eLaneType = ELaneType.SE1_5;
this.bIsVisible = true;
}
///
/// コンストラクタ(初期化用)
///
///
///
///
///
///
///
///
///
///
///
public Cレーン(
E種別 eレーン種別_, string strレーン名_,
int nチャンネル番号・表00toFF_, int nチャンネル番号・裏00toFF_,
bool b左側の線が太線_,
Color col背景色_,
int n位置Xdot_, int n幅dot_,
ELaneType eLaneType_,
bool bIsVisible_ )
{
this.eレーン種別 = eレーン種別_;
this.strレーン名 = strレーン名_;
this.nチャンネル番号・表00toFF = nチャンネル番号・表00toFF_;
this.nチャンネル番号・裏00toFF = nチャンネル番号・裏00toFF_;
this.b左側の線が太線 = b左側の線が太線_;
this.col背景色 = col背景色_;
this.n位置Xdot = n位置Xdot_;
this.n幅dot = n幅dot_;
this.eLaneType = eLaneType_;
this.bIsVisible = bIsVisible_;
}
public bool bパターンレーンである()
{
if( ( this.eレーン種別 != E種別.GtR ) && ( this.eレーン種別 != E種別.GtG ) && ( this.eレーン種別 != E種別.GtB ) && ( this.eレーン種別 != E種別.BsR ) && ( this.eレーン種別 != E種別.BsG ) && ( this.eレーン種別 != E種別.BsB ) )
{
return false;
}
return true;
}
}
}