Start() public method

public Start ( ) : void
return void
コード例 #1
0
    /// <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)
    {
        StartCoroutine("Start");

        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)
        {
            StartAndTrack(curPanel, dismissMode);
        }

        // Bring in the next panel:
        curPanel = panel;
        breadcrumbs.Add(curPanel);
#if UNITY_4_0 || UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 || UNITY_4_8 || UNITY_4_9
        if (deactivateAllButInitialAtStart && !curPanel.gameObject.activeInHierarchy)
        {
            curPanel.Start();
            curPanel.gameObject.SetActive(true);
        }
#else
        if (deactivateAllButInitialAtStart && !curPanel.gameObject.active)
        {
            curPanel.Start();
            curPanel.gameObject.SetActiveRecursively(true);
        }
#endif
        StartAndTrack(curPanel, bringInMode);
    }
コード例 #2
0
    /// <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);
    }
コード例 #3
0
	/// <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)
	{
		StartCoroutine("Start");

		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)
			StartAndTrack(curPanel, dismissMode);

		// Bring in the next panel:
		curPanel = panel;
		breadcrumbs.Add(curPanel);
#if UNITY_4_0 || UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 || UNITY_4_8 || UNITY_4_9
		if (deactivateAllButInitialAtStart && !curPanel.gameObject.activeInHierarchy)
		{
			curPanel.Start();
			curPanel.gameObject.SetActive(true);
		}
#else
		if (deactivateAllButInitialAtStart && !curPanel.gameObject.active)
		{
			curPanel.Start();
			curPanel.gameObject.SetActiveRecursively(true);
		}
#endif
		StartAndTrack(curPanel, bringInMode);
	}
コード例 #4
0
	/// <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)
						StartAndTrack(curPanel, 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)
				StartAndTrack(curPanel, SHOW_MODE.DismissBack);

			// Bring in the previous panel:
			if (breadcrumbs.Count > 0)
				curPanel = breadcrumbs[breadcrumbs.Count - 1];
			if (curPanel != null)
			{
#if UNITY_4_0 || UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 || UNITY_4_8 || UNITY_4_9
				if (deactivateAllButInitialAtStart && !curPanel.gameObject.activeInHierarchy)
				{
					curPanel.Start();
					curPanel.gameObject.SetActive(true);
				}
#else
				if (deactivateAllButInitialAtStart && !curPanel.gameObject.active)
				{
					curPanel.Start();
					curPanel.gameObject.SetActiveRecursively(true);
				}
#endif

				StartAndTrack(curPanel, 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)
							StartAndTrack(curPanel, 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)
				StartAndTrack(curPanel, SHOW_MODE.DismissBack);

			// Bring in the previous panel:
			--index;
			curPanel = panels[index];

#if UNITY_4_0 || UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 || UNITY_4_8 || UNITY_4_9
			if (deactivateAllButInitialAtStart && !curPanel.gameObject.activeInHierarchy)
			{
				curPanel.Start();
				curPanel.gameObject.SetActive(true);
			}
#else
			if (deactivateAllButInitialAtStart && !curPanel.gameObject.active)
			{
				curPanel.Start();
				curPanel.gameObject.SetActiveRecursively(true);
			}
#endif

			StartAndTrack(curPanel, SHOW_MODE.BringInBack);

			if (index <= 0 && !circular)
				return false;
			else
				return true;
		}
	}
コード例 #5
0
	/// <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()
	{
		StartCoroutine("Start");

		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)
						StartAndTrack(curPanel, 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)
			StartAndTrack(curPanel, SHOW_MODE.DismissForward);

		// Bring in the next panel:
		++index;
		curPanel = panels[index];
		breadcrumbs.Add(curPanel);

#if UNITY_4_0 || UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 || UNITY_4_8 || UNITY_4_9
		if (deactivateAllButInitialAtStart && !curPanel.gameObject.activeInHierarchy)
		{
			curPanel.Start();
			curPanel.gameObject.SetActive(true);
		}
#else
		if (deactivateAllButInitialAtStart && !curPanel.gameObject.active)
		{
			curPanel.Start();
			curPanel.gameObject.SetActiveRecursively(true);
		}
#endif
		StartAndTrack(curPanel, SHOW_MODE.BringInForward);

		if (index >= panels.Count - 1 && !circular)
			return false;
		else
			return true;
	}
コード例 #6
0
    /// <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)
                    {
                        StartAndTrack(curPanel, 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)
            {
                StartAndTrack(curPanel, 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);
                }

                StartAndTrack(curPanel, 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)
                        {
                            StartAndTrack(curPanel, 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)
            {
                StartAndTrack(curPanel, SHOW_MODE.DismissBack);
            }

            // Bring in the previous panel:
            --index;
            curPanel = panels[index];

            if (deactivateAllButInitialAtStart && !curPanel.gameObject.active)
            {
                curPanel.Start();
                curPanel.gameObject.SetActiveRecursively(true);
            }

            StartAndTrack(curPanel, SHOW_MODE.BringInBack);

            if (index <= 0 && !circular)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
    }
コード例 #7
0
    /// <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()
    {
        StartCoroutine("Start");

        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)
                    {
                        StartAndTrack(curPanel, 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)
        {
            StartAndTrack(curPanel, 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);
        }

        StartAndTrack(curPanel, SHOW_MODE.BringInForward);

        if (index >= panels.Count - 1 && !circular)
        {
            return(false);
        }
        else
        {
            return(true);
        }
    }
コード例 #8
0
	/// <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);
	}
コード例 #9
0
	/// <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;
	}