本文整理汇总了C#中Selector.GetItemForChocie方法的典型用法代码示例。如果您正苦于以下问题:C# Selector.GetItemForChocie方法的具体用法?C# Selector.GetItemForChocie怎么用?C# Selector.GetItemForChocie使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Selector
的用法示例。
在下文中一共展示了Selector.GetItemForChocie方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OnStart
protected override void OnStart()
{
var layout = new LinearPanel()
{
ItemSpan = new Vector2DF(0, 36),
};
var selector = new Selector<int, Control>(CreateController(), layout);
selector.BindKey(Control.Down, Control.Up, Control.Decide, Control.Cancel);
selector.Cursor.Texture = Engine.Graphics.CreateTexture2D("ListCursor.png");
selector.IsControllerUpdated = true;
var font = Engine.Graphics.CreateDynamicFont("", 20, new Color(255, 0, 0, 255), 0, new Color(0, 0, 0, 0));
var size = selector.Cursor.Texture.Size;
var scroll = new ScrollLayer()
{
Position = new Vector2DF(30, 30),
CameraSize = new Vector2DF(200, 200),
BindingAreaRange = new RectF(0, 25, 200, 150),
BoundaryStartingPosition = new Vector2DF(0, 0),
BoundaryEndingPosition = layout.ItemSpan * 10 + new Vector2DF(200, 0),
};
var areaChanged = selector.OnSelectionChanged
.Select(c => selector.GetItemForChocie(c).Position)
.Select(p => new RectF(p.X, p.Y, size.X, size.Y));
scroll.SubscribeSeeingArea(areaChanged);
var scene = new Scene();
Engine.ChangeScene(scene);
scene.AddLayer(scroll);
scroll.AddObject(selector);
for(int i = 0; i < 10; i++)
{
var obj = new TextObject2D()
{
Font = font,
Text = $"アイテム{i}",
};
selector.AddChoice(i, obj);
}
var heart1 = new TextureObject2D()
{
Position = scroll.BoundaryEndingPosition - new Vector2DF(50, 50),
Texture = Engine.Graphics.CreateTexture2D("Heart.png"),
};
scroll.AddObject(heart1);
var heart2 = new TextureObject2D()
{
Position = scroll.BoundaryStartingPosition - new Vector2DF(0, 50),
Texture = Engine.Graphics.CreateTexture2D("Heart.png"),
};
scroll.AddObject(heart2);
var viewer = new ScrollBoundViewer(scroll);
scroll.AddObject(viewer);
}