-
-
Notifications
You must be signed in to change notification settings - Fork 7
plugin ui
Xeltica edited this page Apr 11, 2019
·
4 revisions
DotFeather.UI は、DotFeather ゲームウィンドウに UI を表示する為のツールキットを含むプラグインです。
DotFeather.UI では、 UI を構成するボタンやテキストボックスといった要素をウィジェットとして表現します。
UIWidget
抽象クラスは IDrawable
インターフェイスを実装している、全てのウィジェットに継承されるクラスです。
上記からわかるようにウィジェットは Drawable である為、コンテナーに直接追加することができます。
各ウィジェットはユーザーからのインタラクションを受けて動作します。
using DotFeather;
using DotFeather.UI;
public class Example : GameBase
{
// コンストラクタ略
private UIButton button;
private UILabel label;
private UITextBox textBox;
protected override void OnLoad(object sender, EventArgs e)
{
label = new Label();
textBox = new TextBox();
button = new Button("表示");
textBox.Location = new Vector(16, 16);
textBox.Size = new Vector(16, 128);
button.Location = new Vector(152, 16);
label.Location = new Vector(16, 48);
// EventHandler を使う方式
button.Click += (sender, e) =>
{
label.Text = textBox.Text;
};
Root.Add(label);
Root.Add(textBox);
Root.Add(button);
}
protected override void OnUpdate(object sender, DFEventArgs e)
{
// プロパティを取得する方式
switch (button.Phase)
{
case ButtonPhase.First:
Console.WriteLine("MouseDown");
break;
case ButtonPhase.Last:
Console.WriteLine("MouseUp");
break;
}
}
}