/// <summary> /// トゥイーンを作成し、それを返す。メソッドチェーン記述用 /// </summary> /// <example><code> /// var tweener = new AltoTweener(); /// tweener.NewTween(someObj).FromTo(10f, 20f, 1.0f).OnUpdate(x => ...); /// </code></example> public IAltoTween NewTween(object obj = null) { var tween = new AltoTween(); AddTween(obj, tween); return(tween); }
/// <summary> /// トゥイーンを登録する。obj は途中で止めたくなった時の対象指定用なので /// その用途が無ければ null を渡してもよい /// </summary> public void Go( object obj, float from, float to, float duration, AltoEasingFunc easingFunc, AltoTweenCallback onUpdate ) { var tween = new AltoTween(from, to, duration, easingFunc, onUpdate); tween.Init(); AddTween(obj, tween); }
public void Add(AltoTween tween) { if (_isUpdating) { this.pendingTweens.Add(tween); } else { this.tweens.Add(tween); } this.isCompleted = false; }
void AddTween(object obj, AltoTween tween) { AltoTweenList tweenList; object dictKey = (obj != null) ? obj : _nullObject; if (_tweens.TryGetValue(dictKey, out tweenList)) { tweenList.Add(tween); return; } tweenList = new AltoTweenList(); tweenList.Add(tween); _tweens.Add(dictKey, tweenList); }