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(); }
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(); } }
private void TweenFadeIn() { mTweenGroup.Play(); }