本文整理汇总了C#中UIPanelBase.StartTransition方法的典型用法代码示例。如果您正苦于以下问题:C# UIPanelBase.StartTransition方法的具体用法?C# UIPanelBase.StartTransition怎么用?C# UIPanelBase.StartTransition使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UIPanelBase
的用法示例。
在下文中一共展示了UIPanelBase.StartTransition方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: StartAndTrack
// Starts a panel transitioning and tracks it
protected void StartAndTrack(UIPanelBase p, SHOW_MODE mode)
{
p.StartTransition(mode);
// See if it didn't quit immediately:
if (p.IsTransitioning)
{
p.AddTempTransitionDelegate(DecrementTransitioningPanels);
++transitioningPanelCount;
}
}
示例2: MoveBack
/// <summary>
/// Moves the menu back to the previous panel
/// in the sequence (determined by panel
/// index). Automatically dismisses the
/// currently displaying panel using the
/// "back" mode.
/// </summary>
/// <returns>True if the there are more panels
/// before this one. False if this is the first
/// panel, or if the menu was already at the
/// beginning.</returns>
public bool MoveBack()
{
// If this isn't a linear menu, use our history
// to go backward:
if (!linearNavigation)
{
// See if we're at the beginning:
if (breadcrumbs.Count <= 1)
{
if (advancePastEnd)
{
// Send away the current panel:
if (curPanel != null)
curPanel.StartTransition(SHOW_MODE.DismissBack);
curPanel = null;
// Don't add more than one null on the stack:
if (breadcrumbs.Count > 0)
{
if (breadcrumbs[breadcrumbs.Count - 1] != null)
breadcrumbs.Add(null);
}
else
breadcrumbs.Add(null);
}
return false; // We're at the beginning
}
// Go back in our history:
if (breadcrumbs.Count != 0)
breadcrumbs.RemoveAt(breadcrumbs.Count-1);
// Send away the current panel:
if (curPanel != null)
curPanel.StartTransition(SHOW_MODE.DismissBack);
// Bring in the previous panel:
if(breadcrumbs.Count > 0)
curPanel = breadcrumbs[breadcrumbs.Count-1];
if (curPanel != null)
{
if (deactivateAllButInitialAtStart && !curPanel.gameObject.active)
{
curPanel.Start();
curPanel.gameObject.SetActiveRecursively(true);
}
curPanel.StartTransition(SHOW_MODE.BringInBack);
}
// Return false if we've reached the beginning:
if (breadcrumbs.Count <= 1)
return false;
else
return true;
}
else // Else this is a linear menu, so just go back to the previous panel in our array
{
int index = panels.IndexOf(curPanel);
// If we're at the first index:
if (index <= 0)
{
if(!circular)
{
if(advancePastEnd)
{
// Send away the current panel:
if (curPanel != null)
curPanel.StartTransition(SHOW_MODE.DismissBack);
curPanel = null;
}
return false; // We're already at the beginning
}
else
{
// Wrap back to the end:
index = panels.Count;
}
}
// Send away the current panel:
if (curPanel != null)
curPanel.StartTransition(SHOW_MODE.DismissBack);
// Bring in the previous panel:
//.........这里部分代码省略.........
示例3: BringIn
/// <summary>
/// Brings in the specified panel in a manner
/// that portrays the menu moving in the
/// specified direction. If "Auto" is specified
/// for the direction, forward/backward is
/// determined by comparing the index of the
/// current panel to the one being brought up.
/// </summary>
/// <param name="panel">Reference to the panel to bring up.</param>
/// <param name="dir">Direction the menu should appear to be moving.
/// If "Auto" is specified, the direction is determined by comparing
/// the index of the current panel to the one being brought up.</param>
public void BringIn(UIPanelBase panel, MENU_DIRECTION dir)
{
SHOW_MODE dismissMode;
SHOW_MODE bringInMode;
if (curPanel == panel)
return; // Nothing to do!
if(dir == MENU_DIRECTION.Auto)
{
// See if we can determine the direction:
if (curPanel != null)
{
// Forward
if (curPanel.index <= panel.index)
dir = MENU_DIRECTION.Forwards;
else // Backward
dir = MENU_DIRECTION.Backwards;
}
else // Assume forward:
dir = MENU_DIRECTION.Forwards;
}
dismissMode = ( (dir == MENU_DIRECTION.Forwards) ? (SHOW_MODE.DismissForward) : (SHOW_MODE.DismissBack) );
bringInMode = ( (dir == MENU_DIRECTION.Forwards) ? (SHOW_MODE.BringInForward) : (SHOW_MODE.BringInBack) );
// Dismiss the current panel:
if (curPanel != null)
curPanel.StartTransition(dismissMode);
// Bring in the next panel:
curPanel = panel;
breadcrumbs.Add(curPanel);
if (deactivateAllButInitialAtStart && !curPanel.gameObject.active)
{
curPanel.Start();
curPanel.gameObject.SetActiveRecursively(true);
}
curPanel.StartTransition(bringInMode);
}
示例4: MoveForward
/// <summary>
/// Moves the menu forward to the next panel
/// in the sequence (determined by panel
/// index). Automatically dismisses the
/// currently displaying panel using the
/// forward mode.
/// </summary>
/// <returns>True if the there are more panels
/// after this one. False if this is the last
/// panel, or if the menu was already at the end.</returns>
public bool MoveForward()
{
int index = panels.IndexOf(curPanel);
if (index >= panels.Count - 1)
{
// See if we should wrap to the beginning:
if (!circular)
{
// See if we should advance past the end:
if (advancePastEnd)
{
// Send away the current panel:
if (curPanel != null)
curPanel.StartTransition(SHOW_MODE.DismissForward);
curPanel = null;
// Don't add more than one null on the stack:
if(breadcrumbs.Count > 0)
{
if (breadcrumbs[breadcrumbs.Count - 1] != null)
breadcrumbs.Add(null);
}
else
breadcrumbs.Add(null);
}
return false; // We're already at the end
}
else
index = -1; // Wrap back to the beginning
}
// Send away the current panel:
if (curPanel != null)
curPanel.StartTransition(SHOW_MODE.DismissForward);
// Bring in the next panel:
++index;
curPanel = panels[index];
breadcrumbs.Add(curPanel);
if (deactivateAllButInitialAtStart && !curPanel.gameObject.active)
{
curPanel.Start();
curPanel.gameObject.SetActiveRecursively(true);
}
curPanel.StartTransition(SHOW_MODE.BringInForward);
if (index >= panels.Count - 1 && !circular)
return false;
else
return true;
}