Exemplo n.º 1
0
    public void LookAtNearestMonster()
    {
        var monster = EnemySpawnMgr.GetCloseToBaseMonster();

        if (monster == null)
        {
            return;
        }

        var monsterTs  = monster.transform;
        var monsterPos = monsterTs.position;
        var monsterRot = monsterTs.rotation;

        Quaternion rot = monsterRot * Quaternion.AngleAxis(30f, Vector3.left);

        Vector3 camPos = monsterPos + rot * Vector3.forward * 10f;

        Vector3 camToMonster = (monsterPos - camPos).normalized;

        camToMonster.y = 0f;

        mMoveCamTweenPos.OnSyncStartValue(() => MoveCamTs.position);
        mMoveCamTweenPos.OnSyncEndValue(() => camPos);

        mMoveCamTweenRot.OnSyncStartValue(() => MoveCamTs.forward);
        mMoveCamTweenRot.OnSyncEndValue(() => camToMonster);

        mCameraTween.Play();
    }
Exemplo n.º 2
0
        public override void Play()
        {
            if (State != TweenState.Stopped)
            {
                Stop();
            }

            configureTween();
            validateTweenConfiguration();

            group.Play();
        }
    public void OnEnable()
    {
        if( spriteTemplate == null )
            return;

        var radius = Camera.main.orthographicSize * 0.95f;
        var duration = 0.5f;

        TweenEasingCallback easingFunc = TweenEasingFunctions.EaseOutSine;

        for( int i = 0; i < SPRITE_COUNT; i++ )
        {

            var angle = Random.Range( 0.0f, Mathf.PI * 2f );
            var endPosition = new Vector3
            (
                Mathf.Cos( angle ) * radius,
                Mathf.Sin( angle ) * radius
            );

            var sprite = (GameObject)GameObject.Instantiate( spriteTemplate );
            sprite.hideFlags = HideFlags.HideInHierarchy;

            var animateOpacity = sprite.renderer
                .TweenAlpha()
                .SetDuration( duration )
                .SetEasing( easingFunc )
                .SetStartValue( 0f )
                .SetEndValue( 0.8f );

            var animateScale = sprite.transform
                .TweenScale()
                .SetDuration( duration )
                .SetEasing( easingFunc )
                .SetStartValue( Vector3.one * 0.25f )
                .SetEndValue( Vector3.one );

            var animatePosition = sprite.transform
                .TweenPosition()
                .SetDuration( duration )
                .SetEasing( easingFunc )
                .SetStartValue( Vector3.zero )
                .SetEndValue( endPosition );

            var concurrentGroup = new TweenGroup()
                .SetMode( TweenGroupMode.Concurrent )
                .AppendTween( animateOpacity, animateScale, animatePosition );

            var sequentialGroup = new TweenGroup()
                .SetMode( TweenGroupMode.Sequential )
                .AppendDelay( 255f / i )
                .AppendTween( concurrentGroup )
                .SetLoopType( TweenLoopType.Loop );

            tweens.Add( sequentialGroup );

            sequentialGroup.Play();

        }

        // There are three animations per sprite plus two tween groups
        DebugMessages.Add( (SPRITE_COUNT * 5) + " tweens created..." );

        if( pivot != null )
        {

            var animatePivot = pivot.transform
                .TweenRotation()
                .SetDuration( 10 )
                .SetStartValue( new Vector3( 0, -45, 0 ) )
                .SetEndValue( new Vector3( 0, 45, 0 ) )
                .SetLoopType( TweenLoopType.Pingpong );

            tweens.Add( animatePivot );

            animatePivot.Play();

        }
    }
Exemplo n.º 4
0
 private void TweenFadeIn()
 {
     mTweenGroup.Play();
 }