Ejemplo n.º 1
0
    public virtual void StartTransition( MenuDefinitions.TransitionTypes eType, MenuDefinitions.Directions eDirection, float fDuration, bool bForwards)
    {
        UITweener tween = null;
        this.gameObject.transform.localScale = new Vector3(1, 1, 1);
        this.gameObject.transform.localPosition = DirectionToPosition(MenuDefinitions.Directions.Center, this.gameObject.transform.localPosition.z);

        switch (eType) {
        case  MenuDefinitions.TransitionTypes.Fade:
            tween = TweenAlpha.Begin(this.gameObject, fDuration, 1.0f);
            break;
        case  MenuDefinitions.TransitionTypes.Scale:
        {
            Vector3 targetScale = this.gameObject.transform.localScale;

            if( bForwards == true )
            {
                this.gameObject.transform.localScale = new Vector3(0.00001f, 0.00001f, 0.00001f);
                targetScale = new Vector3(1,1,1);
            }
            else
            {
                this.gameObject.transform.localScale = new Vector3(1, 1, 1);
                targetScale = new Vector3(0.00001f, 0.00001f, 0.00001f);
            }
            tween = TweenScale.Begin(this.gameObject, fDuration, targetScale);
        }
            break;
        case  MenuDefinitions.TransitionTypes.Spin:
            tween = TweenRotation.Begin(this.gameObject, fDuration, Quaternion.FromToRotation(new Vector3(1, -1, 1), new Vector3(0,0,0) ) );
            break;
        case  MenuDefinitions.TransitionTypes.Translate:
        {
            Vector3 targetPosition = this.gameObject.transform.localPosition;

            if( bForwards == true )
            {
                this.gameObject.transform.localPosition = DirectionToPosition(eDirection, targetPosition.z);
                targetPosition = DirectionToPosition(MenuDefinitions.Directions.Center, targetPosition.z);
            }
            else
            {
                this.gameObject.transform.localPosition = DirectionToPosition(MenuDefinitions.Directions.Center, targetPosition.z);
                targetPosition = DirectionToPosition(eDirection, targetPosition.z);
            }

            tween = TweenPosition.Begin(this.gameObject, fDuration, targetPosition);
        }
            break;
        default:
        break;
        }

        if( tween != null)
        {
            tween.style = UITweener.Style.Once;
            tween.method = UITweener.Method.EaseInOut;
            tween.onFinished = TransitionEndInternal;
        }
    }
Ejemplo n.º 2
0
	public void OpenMenu( MenuDefinitions.Menus menu )
	{
		if( m_pCurrentMenu != null && m_pCurrentMenu.Menu == menu)
			return;
		
		MenuBase result = null;
		if( m_pMenus.TryGetValue((int)menu, out result) == true)
		{
			SetInput(false);
		
			nNextMenu = (int)menu;
			if( m_pCurrentMenu != null )
				m_pCurrentMenu.SetState(false, TransitionEnd);
			else
				TransitionEnd();
		}
	}
Ejemplo n.º 3
0
	public void OpenMenuWithHeirarchy(MenuDefinitions.Menus[] menuList)
	{
		if( m_pCurrentMenu != null)
			m_pCurrentMenu.SetState(false);
		
		m_pCurrentMenu = null;
		m_pMenuList.Clear();
		
		for (int i = 0; i < menuList.Length; i++) {
			m_pMenuList.Push( (int)menuList[i] );
		}
		
		OpenMenu( (MenuDefinitions.Menus)m_pMenuList.Peek() );
	}
Ejemplo n.º 4
0
 protected virtual Vector3 DirectionToPosition(MenuDefinitions.Directions eDirection, float nZ)
 {
     Vector3 result = new Vector3(0,0,nZ);
     switch (eDirection) {
     case MenuDefinitions.Directions.Center:
         break;
     case MenuDefinitions.Directions.Down:
         result = new Vector3(0, -1000, nZ);
         break;
     case MenuDefinitions.Directions.Up:
         result = new Vector3(0, 1000, nZ);
         break;
     case MenuDefinitions.Directions.Right:
         result = new Vector3(2000, 0, nZ);
         break;
     case MenuDefinitions.Directions.Left:
         result = new Vector3(-2000, 0, nZ);
         break;
     default:
     break;
     }
     return result;
 }