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

155 lines
4.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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();
}
}
}
}