您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 

100 行
2.9 KiB

using System.Collections.Generic;
using uiwidgets;
using Unity.UIWidgets.engine;
using Unity.UIWidgets.material;
using Unity.UIWidgets.rendering;
using Unity.UIWidgets.widgets;
namespace UIWidgetsSample.RaycastableScene
{
public class ItemPickerMainUIPanel : UIWidgetsRaycastablePanel
{
protected override void onEnable()
{
AddFont("Material Icons", new List<string> {"MaterialIcons-Regular.ttf"}, new List<int> {0});
}
protected override void main()
{
ui_.runApp(new ItemPickerMainUI());
}
}
public class ItemPickerMainUI : StatelessWidget
{
public override Widget build(BuildContext context)
{
return new MaterialApp(
home: new Scaffold(
backgroundColor: Colors.blue.withAlpha(64),
body: new ItemPickerMainWidget()
)
);
}
}
public class ItemPickerMainWidget : StatefulWidget
{
public override State createState()
{
return new ItemPickerMainWidgetState();
}
}
public class ItemPickerMainWidgetState : State<ItemPickerMainWidget>
{
public override Widget build(BuildContext context)
{
return new Column(
children: new List<Widget>
{
buildTop(),
buildMiddle(),
this.buildBottom(),
}
);
}
private Widget buildTop()
{
return new RaycastableContainer(child: new SceneBoard());
}
private Widget buildBottom()
{
return new RaycastableContainer(new Container(height: 5f, color: Colors.grey));
}
private Widget buildMiddle()
{
return new Expanded(child: new Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: new List<Widget>
{
buildLeft(),
buildRight(),
}
));
}
private Widget buildRight()
{
return new RaycastableContainer(child: new Container(width: 100f, color: Colors.grey.withAlpha(125), child: new RightUIPanel()));
}
private Widget buildLeft()
{
return new RaycastableContainer(child: new Container(width: 100f, color: Colors.grey.withAlpha(125), child: new LeftUIPanel(
itemNames: GameObjectManager.listItems,
itemCheckCallback: (index, active) =>
{
//TODO: callback when item is activated/inactivated
},
itemSelectCallback: (index) =>
{
//TODO: callback when item is selected
}
)));
}
}
}