Пример #1
0
    /// <summary>
    /// Used to create a tween object.
    /// </summary>
    /// <param name="targetObject">GameObject to be targeted.</param>
    /// <param name="duration">The duration of a single run of the tween.</param>
    /// <param name="parameters">Tween parameters.</param>
    public static GameObject Create(GameObject targetObject, float duration, NightTweenParams parameters)
    {
        if (targetObject == null)
        {
            return(null);
        }
        if (parameters == null)
        {
            return(null);
        }
        if (container == null)
        {
            container = new GameObject("NightTween");
        }

        GameObject o = new GameObject(parameters.storedParams.id);

        o.transform.SetParent(container.transform);

        NightTweenInstance t = o.AddComponent <NightTweenInstance>();

        t.Setup(targetObject, duration, parameters);

        return(o);
    }
Пример #2
0
    /// <summary>
    /// Setups the NightTweenInstance.
    /// </summary>
    /// <param name="targetObject">GameObject being animated.</param>
    /// <param name="duration">Duration of a single loop.</param>
    /// <param name="parameters">Parameters acquired during creation.</param>
    public void Setup(GameObject targetObject, float duration, NightTweenParams parameters)
    {
        _targetObject = targetObject;
        _duration     = duration;
        _parameters   = parameters.storedParams;

        if (_parameters.updateMode == NightTween.UpdateType.Update)
        {
            useUpdate = true;
        }
        else if (_parameters.updateMode == NightTween.UpdateType.LateUpdate)
        {
            useLateUpdate = true;
        }
        else if (_parameters.updateMode == NightTween.UpdateType.FixedUpdate)
        {
            useFixedUpdate = true;
        }
        else if (_parameters.updateMode == NightTween.UpdateType.TimeScaleIndependentUpdate)
        {
            useTimescaleInd = true;
        }

        _born    = TimeNow();
        _started = _born + _parameters.delay;

        endValue      = _parameters.propertyValue;
        startingValue = new object[_parameters.property.Length];
        for (int x = 0; x < startingValue.Length; x++)
        {
            startingValue[x] = GetValue(_parameters.property[x]);
        }

        if (_parameters.startCallback != null)
        {
            for (int x = 0; x < _parameters.startCallback.Length; x++)
            {
                if (_parameters.startCallback[x] != null)
                {
                    _parameters.startCallback[x]();
                }
            }
        }
    }
Пример #3
0
 /// <summary>
 /// Create a new StoredParams with default values;
 /// </summary>
 /// <param name="mode">Any value.</param>
 public StoredParams(int mode)
 {
     delay                  = 0;
     easeType               = NightTween.EaseType.Linear;
     id                     = "NightTween " + NightTweenParams.NextNumber();
     loops                  = 0;
     loopType               = NightTween.LoopType.Restart;
     endCycleCallback       = null;
     endCycleCallbackPParam = null;
     startCallback          = null;
     startCallbackPParam    = null;
     finishCallback         = null;
     finishCallbackPParam   = null;
     updateCallback         = null;
     updateCallbackPParam   = null;
     property               = null;
     propertyValue          = null;
     updateMode             = NightTween.UpdateType.Update;
 }