本文整理汇总了C#中Sandbox.Graphics.GUI.MyGuiControlList.InitControls方法的典型用法代码示例。如果您正苦于以下问题:C# MyGuiControlList.InitControls方法的具体用法?C# MyGuiControlList.InitControls怎么用?C# MyGuiControlList.InitControls使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sandbox.Graphics.GUI.MyGuiControlList
的用法示例。
在下文中一共展示了MyGuiControlList.InitControls方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateInventoryControlsInList
private void CreateInventoryControlsInList(List<MyEntity> owners, MyGuiControlList listControl, MyInventoryOwnerTypeEnum? filterType = null)
{
if (listControl.Controls.Contains(m_focusedOwnerControl))
m_focusedOwnerControl = null;
List<MyGuiControlBase> inventoryControlList = new List<MyGuiControlBase>();
foreach (var owner in owners)
{
if (!(owner != null && owner.HasInventory))
continue;
if (filterType.HasValue && (owner as MyEntity).InventoryOwnerType() != filterType)
continue;
Vector4 labelColor = Color.White.ToVector4();
if (owner is MyCubeBlock)
{
labelColor = m_colorHelper.GetGridColor((owner as MyCubeBlock).CubeGrid).ToVector4();
}
var ownerControl = new MyGuiControlInventoryOwner(owner, labelColor);
ownerControl.Size = new Vector2(listControl.Size.X - 0.045f, ownerControl.Size.Y);
ownerControl.OriginAlign = MyGuiDrawAlignEnum.HORISONTAL_LEFT_AND_VERTICAL_CENTER;
foreach (var grid in ownerControl.ContentGrids)
{
grid.ItemSelected += grid_ItemSelected;
grid.ItemDragged += grid_ItemDragged;
grid.ItemDoubleClicked += grid_ItemDoubleClicked;
grid.ItemClicked += grid_ItemClicked;
}
ownerControl.SizeChanged += inventoryControl_SizeChanged;
ownerControl.InventoryContentsChanged += ownerControl_InventoryContentsChanged;
if (owner is MyCubeBlock)
ownerControl.Enabled = (owner as MyCubeBlock).IsFunctional;
// Put inventory of interacted block or character on first position.
if (owner == m_interactedAsOwner ||
owner == m_userAsOwner)
{
inventoryControlList.Insert(0, ownerControl);
}
else
{
//sort by name (Inventory filters ticket)
inventoryControlList.Add(ownerControl);
}
}
listControl.InitControls(inventoryControlList);
}