本文整理匯總了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);
}