1
0
mirror of synced 2024-11-28 09:20:53 +01:00
OpenTaiko/TJAPlayer3/Items/CItemThreeState.cs

155 lines
4.6 KiB
C#
Raw Normal View History

2021-09-21 00:16:38 +02:00
using System;
using System.Collections.Generic;
using System.Text;
namespace TJAPlayer3
{
/// <summary>
/// 「スリーステート」ON, OFF, 不定 の3状態を表すアイテム。
/// </summary>
internal class CItemThreeState : CItemBase
{
// プロパティ
public E状態 e現在の状態;
public enum E状態
{
ON,
OFF,
}
// コンストラクタ
public CItemThreeState()
{
base.e種別 = CItemBase.E種別.ONorOFFor不定スリーステート;
this.e現在の状態 = E状態.;
}
public CItemThreeState( string str項目名, E状態 e初期状態 )
: this()
{
this.t初期化( str項目名, e初期状態 );
}
public CItemThreeState(string str項目名, E状態 e初期状態, string str説明文jp)
: this() {
this.t初期化(str項目名, e初期状態, str説明文jp, str説明文jp);
}
public CItemThreeState(string str項目名, E状態 e初期状態, string str説明文jp, string str説明文en)
: this() {
this.t初期化(str項目名, e初期状態, str説明文jp, str説明文en);
}
public CItemThreeState( string str項目名, E状態 e初期状態, CItemBase.Eパネル種別 eパネル種別 )
: this()
{
this.t初期化( str項目名, e初期状態, eパネル種別 );
}
public CItemThreeState(string str項目名, E状態 e初期状態, CItemBase.Eパネル種別 eパネル種別, string str説明文jp)
: this() {
this.t初期化(str項目名, e初期状態, eパネル種別, str説明文jp, str説明文jp);
}
public CItemThreeState(string str項目名, E状態 e初期状態, CItemBase.Eパネル種別 eパネル種別, string str説明文jp, string str説明文en)
: this() {
this.t初期化(str項目名, e初期状態, eパネル種別, str説明文jp, str説明文en);
}
// CItemBase 実装
public override void tEnter押下()
{
this.t項目値を次へ移動();
}
public override void t項目値を次へ移動()
{
switch( this.e現在の状態 )
{
case E状態.ON:
this.e現在の状態 = E状態.OFF;
return;
case E状態.OFF:
this.e現在の状態 = E状態.ON;
return;
case E状態.:
this.e現在の状態 = E状態.ON;
return;
}
}
public override void t項目値を前へ移動()
{
switch( this.e現在の状態 )
{
case E状態.ON:
this.e現在の状態 = E状態.OFF;
return;
case E状態.OFF:
this.e現在の状態 = E状態.ON;
return;
case E状態.:
this.e現在の状態 = E状態.OFF;
return;
}
}
public void t初期化( string str項目名, E状態 e初期状態 )
{
this.t初期化( str項目名, e初期状態, CItemBase.Eパネル種別. );
}
public void t初期化(string str項目名, E状態 e初期状態, string str説明文jp) {
this.t初期化(str項目名, e初期状態, CItemBase.Eパネル種別., str説明文jp, str説明文jp);
}
public void t初期化(string str項目名, E状態 e初期状態, string str説明文jp, string str説明文en) {
this.t初期化(str項目名, e初期状態, CItemBase.Eパネル種別., str説明文jp, str説明文en);
}
public void t初期化( string str項目名, E状態 e初期状態, CItemBase.Eパネル種別 eパネル種別 )
{
this.t初期化(str項目名, e初期状態, CItemBase.Eパネル種別., "", "");
}
public void t初期化(string str項目名, E状態 e初期状態, CItemBase.Eパネル種別 eパネル種別, string str説明文jp) {
this.t初期化(str項目名, e初期状態, CItemBase.Eパネル種別., str説明文jp, str説明文jp);
}
public void t初期化(string str項目名, E状態 e初期状態, CItemBase.Eパネル種別 eパネル種別, string str説明文jp, string str説明文en) {
base.t初期化(str項目名, eパネル種別, str説明文jp, str説明文en);
this.e現在の状態 = e初期状態;
}
public override object obj現在値()
{
if ( this.e現在の状態 == E状態. )
{
return "- -";
}
else
{
return this.e現在の状態.ToString();
}
}
public override int GetIndex()
{
return (int)this.e現在の状態;
}
public override void SetIndex( int index )
{
switch (index )
{
case 0:
this.e現在の状態 = E状態.ON;
break;
case 1:
this.e現在の状態 = E状態.OFF;
break;
case 2:
this.e現在の状態 = E状態.;
break;
default:
throw new ArgumentOutOfRangeException();
}
}
}
}