using UnityEngine ;
using UnityEngine.Serialization ;
using System.Collections ;
namespace Fungus
{
[ CommandInfo ( "iTween" ,
"Move To" ,
"Moves a game object to a specified position over time. The position can be defined by a transform in another object (using To Transform) or by setting an absolute position (using To Position, if To Transform is set to None)." ) ]
[AddComponentMenu("")]
public class MoveTo : iTweenCommand , ISerializationCallbackReceiver
{
[Tooltip("Target transform that the GameObject will move to")]
public TransformData _ toTransform ;
[Tooltip("Target world position that the GameObject will move to, if no From Transform is set")]
public Vector3Data _ toPosition ;
[Tooltip("Whether to animate in world space or relative to the parent. False by default.")]
public bool isLocal ;
public override void DoTween ( )
{
Hashtable tweenParams = new Hashtable ( ) ;
tweenParams . Add ( "name" , _ tweenName . Value ) ;
if ( _ toTransform . Value = = null )
{
tweenParams . Add ( "position" , _ toPosition . Value ) ;
}
else
{
tweenParams . Add ( "position" , _ toTransform . Value ) ;
}
tweenParams . Add ( "time" , _d uration . Value ) ;
tweenParams . Add ( "easetype" , easeType ) ;
tweenParams . Add ( "looptype" , loopType ) ;
tweenParams . Add ( "isLocal" , isLocal ) ;
tweenParams . Add ( "oncomplete" , "OniTweenComplete" ) ;
tweenParams . Add ( "oncompletetarget" , gameObject ) ;
tweenParams . Add ( "oncompleteparams" , this ) ;
iTween . MoveTo ( _ targetObject . Value , tweenParams ) ;
}
#region Backwards compatibility
[HideInInspector] [ FormerlySerializedAs ( "toTransform" ) ] public Transform toTransformOLD ;
[HideInInspector] [ FormerlySerializedAs ( "toPosition" ) ] public Vector3 toPositionOLD ;
public override void OnBeforeSerialize ( )
{ }
public override void OnAfterDeserialize ( )
{
base . OnAfterDeserialize ( ) ;
if ( toTransformOLD ! = null )
{
_ toTransform . Value = toTransformOLD ;
toTransformOLD = null ;
}
if ( toPositionOLD ! = default ( Vector3 ) )
{
_ toPosition . Value = toPositionOLD ;
toPositionOLD = default ( Vector3 ) ;
}
}
# endregion
}
}