本文整理汇总了C#中IUIListObject.SetList方法的典型用法代码示例。如果您正苦于以下问题:C# IUIListObject.SetList方法的具体用法?C# IUIListObject.SetList怎么用?C# IUIListObject.SetList使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IUIListObject
的用法示例。
在下文中一共展示了IUIListObject.SetList方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: InsertItem
/// <summary>
/// Inserts a list item at the specified position in the list.
/// </summary>
/// <param name="item">Reference to the item to be inserted into the list.</param>
/// <param name="position">0-based index of the position in the list where the item will be placed.</param>
/// <param name="text">Text to display in the item (requires that the item has a TextMesh associated with it, preferably in a child GameObject).</param>
public void InsertItem(IUIListObject item, int position, string text)
{
// Make sure Awake() has already run:
if (!m_awake)
Awake();
// Make sure Start() has already run:
if (!m_started)
Start();
// See if the item needs to be enabled:
if (activateWhenAdding)
{
if (!((Component)item).gameObject.active)
((Component)item).gameObject.SetActiveRecursively(true);
}
// Now deactivate again if the list itself is deactivated:
if(!gameObject.active)
((Component)item).gameObject.SetActiveRecursively(false);
// Put the item in the correct layer:
item.gameObject.layer = gameObject.layer;
// Add the item to our container:
if (container != null)
container.AddChild(item.gameObject);
//-------------------------------------
// Position our item:
//-------------------------------------
item.transform.parent = mover.transform;
#if AUTO_ORIENT_ITEMS
item.transform.localRotation = Quaternion.identity;
#endif
#if AUTO_SCALE_ITEMS
item.transform.localScale = Vector3.one;
#endif
// Go ahead and get the item in the mover's plane
// on the local Z-axis. This must be done here
// before anything that follows because if we are
// using a perspective camera and these are newly
// created items, their Start() will be called for
// the first time when FindOuterEdges() is called
// either by us, or by the Text property, and if
// the item isn't already positioned relative to
// the camera, then its size will be calculated
// wrong.
item.transform.localPosition = Vector3.zero;
item.SetList(this);
if (text != null)
item.Text = text;
// Clamp our position:
position = Mathf.Clamp(position, 0, items.Count);
// Hide the item by default:
if (clipContents)
{
item.Hide(true);
if (!item.Managed)
item.gameObject.SetActiveRecursively(false);
}
item.Index = position;
// Add the item:
newItems.Add(item);
if (position != items.Count)
{
itemsInserted = true;
items.Insert(position, item);
// Add to our visible items so that
// it will be clipped in the next go:
if (visibleItems.Count == 0)
{
visibleItems.Add(item);
}
else if (item.Index > 0)
{
int prevIdx = visibleItems.IndexOf(items[item.Index - 1]);
if (prevIdx == -1)
{
// See if it should be added to the beginning or the end:
if (visibleItems[0].Index >= item.Index)
visibleItems.Insert(0, item);
else
visibleItems.Add(item);
}
else
//.........这里部分代码省略.........
示例2: InsertItem
/// <summary>
/// Inserts a list item at the specified position in the list.
/// </summary>
/// <param name="item">Reference to the item to be inserted into the list.</param>
/// <param name="position">0-based index of the position in the list where the item will be placed.</param>
/// <param name="text">Text to display in the item (requires that the item has a TextMesh associated with it, preferably in a child GameObject).</param>
public void InsertItem(IUIListObject item, int position, string text)
{
IUIListObject lastItem;
float contentDelta;
// Make sure Start() has already run:
if (!m_started)
Start();
// See if the item needs to be enabled:
if(activateWhenAdding)
if (!((Component)item).gameObject.active)
((Component)item).gameObject.SetActiveRecursively(true);
// Put the item in the correct layer:
item.gameObject.layer = gameObject.layer;
// Add the item to our container:
if (container != null)
container.AddChild(item.gameObject);
//-------------------------------------
// Position our item:
//-------------------------------------
item.transform.parent = mover.transform;
#if AUTO_ORIENT_ITEMS
item.transform.localRotation = Quaternion.identity;
#endif
#if AUTO_SCALE_ITEMS
item.transform.localScale = Vector3.one;
#endif
// Go ahead and get the item in the mover's plane
// on the local Z-axis. This must be done here
// before anything that follows because if we are
// using a perspective camera and these are newly
// created items, their Start() will be called for
// the first time when FindOuterEdges() is called
// either by us, or by the Text property, and if
// the item isn't already positioned relative to
// the camera, then its size will be calculated
// wrong.
item.transform.localPosition = Vector3.zero;
if(text != null)
item.Text = text;
item.SetList(this);
// Compute the edges of the item:
item.FindOuterEdges();
item.UpdateCollider();
// Clamp our position:
position = Mathf.Clamp(position, 0, items.Count);
// Hide the item by default:
item.Hide(true);
if (!item.Managed)
item.gameObject.SetActiveRecursively(false);
// See if we can just add it to the end:
if(position == items.Count)
{
if (orientation == ORIENTATION.HORIZONTAL)
{
if (items.Count > 0)
{
lastItem = items[items.Count - 1];
item.transform.localPosition = new Vector3(lastItem.transform.localPosition.x + lastItem.BottomRightEdge.x + itemSpacing - item.TopLeftEdge.x, 0);
}
else
{
item.transform.localPosition = new Vector3((viewableArea.x * -0.5f) - item.TopLeftEdge.x + itemSpacing, 0);
}
contentDelta = item.BottomRightEdge.x - item.TopLeftEdge.x + itemSpacing;
}
else
{
if (items.Count > 0)
{
lastItem = items[items.Count - 1];
item.transform.localPosition = new Vector3(0, lastItem.transform.localPosition.y + lastItem.BottomRightEdge.y - itemSpacing - item.TopLeftEdge.y);
}
else
{
item.transform.localPosition = new Vector3(0, (viewableArea.y * 0.5f) - item.TopLeftEdge.y - itemSpacing);
}
contentDelta = item.TopLeftEdge.y - item.BottomRightEdge.y + itemSpacing;
}
//.........这里部分代码省略.........