static int Stop(IntPtr L) { try { int count = LuaDLL.lua_gettop(L); if (count == 1 && TypeChecker.CheckTypes(L, 1, typeof(FairyGUI.Transition))) { FairyGUI.Transition obj = (FairyGUI.Transition)ToLua.ToObject(L, 1); obj.Stop(); return(0); } else if (count == 3 && TypeChecker.CheckTypes(L, 1, typeof(FairyGUI.Transition), typeof(bool), typeof(bool))) { FairyGUI.Transition obj = (FairyGUI.Transition)ToLua.ToObject(L, 1); bool arg0 = LuaDLL.lua_toboolean(L, 2); bool arg1 = LuaDLL.lua_toboolean(L, 3); obj.Stop(arg0, arg1); return(0); } else { return(LuaDLL.luaL_throw(L, "invalid arguments to method: FairyGUI.Transition.Stop")); } } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static public int Stop(IntPtr l) { try { int argc = LuaDLL.lua_gettop(l); if (argc == 1) { FairyGUI.Transition self = (FairyGUI.Transition)checkSelf(l); self.Stop(); pushValue(l, true); return(1); } else if (argc == 3) { FairyGUI.Transition self = (FairyGUI.Transition)checkSelf(l); System.Boolean a1; checkType(l, 2, out a1); System.Boolean a2; checkType(l, 3, out a2); self.Stop(a1, a2); pushValue(l, true); return(1); } pushValue(l, false); LuaDLL.lua_pushstring(l, "No matched override function to call"); return(2); } catch (Exception e) { return(error(l, e)); } }
static int Stop(IntPtr L) { try { int count = LuaDLL.lua_gettop(L); if (count == 1) { FairyGUI.Transition obj = (FairyGUI.Transition)ToLua.CheckObject <FairyGUI.Transition>(L, 1); obj.Stop(); return(0); } else if (count == 3) { FairyGUI.Transition obj = (FairyGUI.Transition)ToLua.CheckObject <FairyGUI.Transition>(L, 1); bool arg0 = LuaDLL.luaL_checkboolean(L, 2); bool arg1 = LuaDLL.luaL_checkboolean(L, 3); obj.Stop(arg0, arg1); return(0); } else { return(LuaDLL.luaL_throw(L, "invalid arguments to method: FairyGUI.Transition.Stop")); } } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
override protected void Leave(Controller controller) { if (stopOnExit && _currentTransition != null) { _currentTransition.Stop(); _currentTransition = null; } }
void StopItem(TransitionItem item, bool setToComplete) { if (item.displayLockToken != 0) { item.target.ReleaseDisplayLock(item.displayLockToken); item.displayLockToken = 0; } if (item.type == TransitionActionType.ColorFilter) { ((TransitionItem_ColorFilter)item).ClearFilter(); } if (item.completed) { return; } if (item.tweener != null) { item.tweener.Kill(); item.tweener = null; } if (item.type == TransitionActionType.Transition) { Transition trans = ((GComponent)item.target).GetTransition(((TransitionItem_Transition)item).transName); if (trans != null) { trans.Stop(setToComplete, false); } } else if (item.type == TransitionActionType.Shake) { ((TransitionItem_Shake)item).Stop(true); } else { if (setToComplete) { if (item.tween) { if (!item.yoyo || item.repeat % 2 == 0) { ApplyValue(item, _reversed ? item.startValue : item.endValue); } else { ApplyValue(item, _reversed ? item.endValue : item.startValue); } } else if (item.type != TransitionActionType.Sound) { ApplyValue(item, item.value); } } } }
void __removedFromStage() { int cnt = _transitions.Count; for (int i = 0; i < cnt; ++i) { Transition trans = _transitions[i]; trans.Stop(false, false); } }
/// <summary> /// Set current page index, no onChanged event. /// 通过索引设置当前活动页面,和selectedIndex的区别在于,这个方法不会触发onChanged事件。 /// </summary> /// <param name="value">Page index</param> public void SetSelectedIndex(int value) { if (_selectedIndex != value) { if (value > _pageIds.Count - 1) throw new IndexOutOfRangeException("" + value); _previousIndex = _selectedIndex; _selectedIndex = value; parent.ApplyController(this); if (_playingTransition != null) { _playingTransition.Stop(); _playingTransition = null; } } }
void ApplyValue(TransitionItem item, TransitionValue value) { item.target._gearLocked = true; switch (item.type) { case TransitionActionType.XY: if (item.target == _owner) { float f1, f2; if (!value.b1) { f1 = item.target.x; } else { f1 = value.f1 + _ownerBaseX; } if (!value.b2) { f2 = item.target.y; } else { f2 = value.f2 + _ownerBaseY; } item.target.SetXY(f1, f2); } else { if (!value.b1) { value.f1 = item.target.x; } if (!value.b2) { value.f2 = item.target.y; } item.target.SetXY(value.f1, value.f2); } break; case TransitionActionType.Size: if (!value.b1) { value.f1 = item.target.width; } if (!value.b2) { value.f2 = item.target.height; } item.target.SetSize(value.f1, value.f2); break; case TransitionActionType.Pivot: item.target.SetPivot(value.f1, value.f2); break; case TransitionActionType.Alpha: item.target.alpha = value.f1; break; case TransitionActionType.Rotation: item.target.rotation = value.i; break; case TransitionActionType.Scale: item.target.SetScale(value.f1, value.f2); break; case TransitionActionType.Color: ((IColorGear)item.target).color = value.c; break; case TransitionActionType.Animation: if (!value.b1) { value.i = ((IAnimationGear)item.target).frame; } ((IAnimationGear)item.target).frame = value.i; ((IAnimationGear)item.target).playing = value.b; break; case TransitionActionType.Visible: item.target.visible = value.b; break; case TransitionActionType.Controller: string[] arr = value.s.Split(','); foreach (string str in arr) { string[] arr2 = str.Split('='); Controller cc = ((GComponent)item.target).GetController(arr2[0]); if (cc != null) { string str2 = arr2[1]; if (str2[0] == '$') { str2 = str.Substring(1); cc.selectedPage = str2; } else { cc.selectedIndex = int.Parse(str2); } } } break; case TransitionActionType.Transition: Transition trans = ((GComponent)item.target).GetTransition(value.s); if (trans != null) { if (value.i == 0) { trans.Stop(false, true); } else if (trans.playing) { trans._totalTimes = value.i == -1 ? int.MaxValue : value.i; } else { item.completed = false; _totalTasks++; if (_reversed) { trans.PlayReverse(value.i, 0, () => { __playTransComplete(item); }); } else { trans.Play(value.i, 0, () => { __playTransComplete(item); }); } } } break; case TransitionActionType.Sound: AudioClip sound = UIPackage.GetItemAssetByURL(value.s) as AudioClip; if (sound != null) { Stage.inst.PlayOneShotSound(sound, value.f1); } break; case TransitionActionType.Shake: item.startValue.f1 = 0; //offsetX item.startValue.f2 = 0; //offsetY item.startValue.f3 = item.value.f2; //shakePeriod Timers.inst.AddUpdate(item.__Shake, this); _totalTasks++; item.completed = false; break; } item.target._gearLocked = false; }
void StopItem(TransitionItem item, bool setToComplete) { if ((_options & OPTION_IGNORE_DISPLAY_CONTROLLER) != 0) { if (item.target != _owner) { item.target.internalVisible--; } } if (item.completed) { return; } if (item.tweener != null) { item.tweener.Kill(); item.tweener = null; } if (item.type == TransitionActionType.Transition) { Transition trans = ((GComponent)item.target).GetTransition(item.value.s); if (trans != null) { trans.Stop(setToComplete, false); } } else if (item.type == TransitionActionType.Shake) { if (Timers.inst.Exists(item.__Shake)) { Timers.inst.Remove(item.__Shake); item.target._gearLocked = true; item.target.SetXY(item.target.x - item.startValue.f1, item.target.y - item.startValue.f2); item.target._gearLocked = false; } } else { if (setToComplete) { if (item.tween) { if (!item.yoyo || item.repeat % 2 == 0) { ApplyValue(item, _reversed ? item.startValue : item.endValue); } else { ApplyValue(item, _reversed ? item.endValue : item.startValue); } } else if (item.type != TransitionActionType.Sound) { ApplyValue(item, item.value); } } } }
public void Stop(bool setToComplete, bool processCallback) { if (_playing) { _playing = false; _totalTasks = 0; _totalTimes = 0; PlayCompleteCallback func = _onComplete; _onComplete = null; _owner.internalVisible--; int cnt = _items.Count; for (int i = 0; i < cnt; i++) { TransitionItem item = _items[i]; if (item.target == null) { continue; } if ((_options & OPTION_IGNORE_DISPLAY_CONTROLLER) != 0) { if (item.target != _owner) { item.target.internalVisible--; } } if (item.completed) { continue; } if (item.tweener != null) { item.tweener.Kill(); item.tweener = null; } if (item.type == TransitionActionType.Transition) { Transition trans = ((GComponent)item.target).GetTransition(item.value.s); if (trans != null) { trans.Stop(setToComplete, false); } } else if (item.type == TransitionActionType.Shake) { if (Timers.inst.Exists(item.__Shake)) { Timers.inst.Remove(item.__Shake); item.target._gearLocked = true; item.target.SetXY(item.target.x - item.startValue.f1, item.target.y - item.startValue.f2); item.target._gearLocked = false; } } else { if (setToComplete) { if (item.tween) { if (!item.yoyo || item.repeat % 2 == 0) { ApplyValue(item, item.endValue); } else { ApplyValue(item, item.startValue); } } else if (item.type != TransitionActionType.Sound) { ApplyValue(item, item.value); } } } } if (processCallback && func != null) { func(); } } }
void ApplyValue(TransitionItem item, TransitionValue value) { item.target._gearLocked = true; switch (item.type) { case TransitionActionType.XY: if (item.target == _owner) { float f1, f2; if (!value.b1) { f1 = item.target.x; } else { f1 = value.f1 + _ownerBaseX; } if (!value.b2) { f2 = item.target.y; } else { f2 = value.f2 + _ownerBaseY; } item.target.SetXY(f1, f2); } else { if (!value.b1) { value.f1 = item.target.x; } if (!value.b2) { value.f2 = item.target.y; } item.target.SetXY(value.f1, value.f2); } if (invalidateBatchingEveryFrame) { _owner.InvalidateBatchingState(); } break; case TransitionActionType.Size: if (!value.b1) { value.f1 = item.target.width; } if (!value.b2) { value.f2 = item.target.height; } item.target.SetSize(value.f1, value.f2); if (invalidateBatchingEveryFrame) { _owner.InvalidateBatchingState(); } break; case TransitionActionType.Pivot: item.target.SetPivot(value.f1, value.f2); if (invalidateBatchingEveryFrame) { _owner.InvalidateBatchingState(); } break; case TransitionActionType.Alpha: item.target.alpha = value.f1; break; case TransitionActionType.Rotation: item.target.rotation = value.f1; if (invalidateBatchingEveryFrame) { _owner.InvalidateBatchingState(); } break; case TransitionActionType.Scale: item.target.SetScale(value.f1, value.f2); if (invalidateBatchingEveryFrame) { _owner.InvalidateBatchingState(); } break; case TransitionActionType.Skew: item.target.skew = new Vector2(value.f1, value.f2); if (invalidateBatchingEveryFrame) { _owner.InvalidateBatchingState(); } break; case TransitionActionType.Color: ((IColorGear)item.target).color = value.c; break; case TransitionActionType.Animation: if (!value.b1) { value.i = ((IAnimationGear)item.target).frame; } ((IAnimationGear)item.target).frame = value.i; ((IAnimationGear)item.target).playing = value.b; break; case TransitionActionType.Visible: item.target.visible = value.b; break; case TransitionActionType.Transition: Transition trans = ((GComponent)item.target).GetTransition(value.s); if (trans != null) { if (value.i == 0) { trans.Stop(false, true); } else if (trans.playing) { trans._totalTimes = value.i == -1 ? int.MaxValue : value.i; } else { item.completed = false; _totalTasks++; if (_reversed) { trans.PlayReverse(value.i, 0, () => { __playTransComplete(item); }); } else { trans.Play(value.i, 0, () => { __playTransComplete(item); }); } if (_timeScale != 1) { trans.timeScale = _timeScale; } } } break; case TransitionActionType.Sound: AudioClip sound = UIPackage.GetItemAssetByURL(value.s) as AudioClip; if (sound != null) { Stage.inst.PlayOneShotSound(sound, value.f1); } break; case TransitionActionType.Shake: item.startValue.f1 = 0; //offsetX item.startValue.f2 = 0; //offsetY item.startValue.f3 = item.value.f2; //shakePeriod Timers.inst.AddUpdate(item.__Shake, this); _totalTasks++; item.completed = false; break; case TransitionActionType.ColorFilter: ColorFilter cf = item.target.filter as ColorFilter; if (cf == null) { cf = new ColorFilter(); item.target.filter = cf; item.filterCreated = true; } else { cf.Reset(); } cf.AdjustBrightness(value.f1); cf.AdjustContrast(value.f2); cf.AdjustSaturation(value.f3); cf.AdjustHue(value.f4); break; } item.target._gearLocked = false; }
internal void ApplyValue(TransitionItem item, TransitionValue value) { item.target._gearLocked = true; switch (item.type) { case TransitionActionType.XY: if (item.target == _owner) { float f1, f2; if (!value.b1) { f1 = item.target.x; } else { f1 = value.f1 + _ownerBaseX; } if (!value.b2) { f2 = item.target.y; } else { f2 = value.f2 + _ownerBaseY; } item.target.SetXY(f1, f2); } else { if (!value.b1) { value.f1 = item.target.x; } if (!value.b2) { value.f2 = item.target.y; } item.target.SetXY(value.f1, value.f2); } if (invalidateBatchingEveryFrame) { _owner.InvalidateBatchingState(true); } break; case TransitionActionType.Size: if (!value.b1) { value.f1 = item.target.width; } if (!value.b2) { value.f2 = item.target.height; } item.target.SetSize(value.f1, value.f2); if (invalidateBatchingEveryFrame) { _owner.InvalidateBatchingState(true); } break; case TransitionActionType.Pivot: item.target.SetPivot(value.f1, value.f2); if (invalidateBatchingEveryFrame) { _owner.InvalidateBatchingState(true); } break; case TransitionActionType.Alpha: item.target.alpha = value.f1; break; case TransitionActionType.Rotation: item.target.rotation = value.f1; if (invalidateBatchingEveryFrame) { _owner.InvalidateBatchingState(true); } break; case TransitionActionType.Scale: item.target.SetScale(value.f1, value.f2); if (invalidateBatchingEveryFrame) { _owner.InvalidateBatchingState(true); } break; case TransitionActionType.Skew: item.target.skew = value.AsVec2; if (invalidateBatchingEveryFrame) { _owner.InvalidateBatchingState(true); } break; case TransitionActionType.Color: ((IColorGear)item.target).color = value.AsColor; break; case TransitionActionType.Animation: if (((TransitionItem_Animation)item).frame >= 0) { ((IAnimationGear)item.target).frame = ((TransitionItem_Animation)item).frame; } ((IAnimationGear)item.target).playing = ((TransitionItem_Animation)item).playing; break; case TransitionActionType.Visible: item.target.visible = ((TransitionItem_Visible)item).visible; break; case TransitionActionType.Transition: Transition trans = ((GComponent)item.target).GetTransition(((TransitionItem_Transition)item).transName); if (trans != null) { int tranRepeat = ((TransitionItem_Transition)item).transRepeat; if (tranRepeat == 0) { trans.Stop(false, true); } else if (trans.playing) { trans._totalTimes = tranRepeat; } else { item.completed = false; _totalTasks++; if (_reversed) { trans.PlayReverse(tranRepeat, 0, ((TransitionItem_Transition)item).playCompleteDelegate); } else { trans.Play(tranRepeat, 0, ((TransitionItem_Transition)item).playCompleteDelegate); } if (_timeScale != 1) { trans.timeScale = _timeScale; } } } break; case TransitionActionType.Sound: ((TransitionItem_Sound)item).Play(); break; case TransitionActionType.Shake: ((TransitionItem_Shake)item).Start(); _totalTasks++; item.completed = false; break; case TransitionActionType.ColorFilter: ((TransitionItem_ColorFilter)item).SetFilter(); break; } item.target._gearLocked = false; }
void StopItem(TransitionItem item, bool setToComplete) { if (item.displayLockToken != 0) { item.target.ReleaseDisplayLock(item.displayLockToken); item.displayLockToken = 0; } if (item.type == TransitionActionType.ColorFilter && item.filterCreated) { item.target.filter = null; } if (item.completed) { return; } if (item.tweener != null) { item.tweener.Kill(); item.tweener = null; } if (item.type == TransitionActionType.Transition) { Transition trans = ((GComponent)item.target).GetTransition(item.value.s); if (trans != null) { trans.Stop(setToComplete, false); } } else if (item.type == TransitionActionType.Shake) { if (Timers.inst.Exists(item.__Shake)) { Timers.inst.Remove(item.__Shake); item.target._gearLocked = true; item.target.SetXY(item.target.x - item.startValue.f1, item.target.y - item.startValue.f2); item.target._gearLocked = false; } } else { if (setToComplete) { if (item.tween) { if (!item.yoyo || item.repeat % 2 == 0) { ApplyValue(item, _reversed ? item.startValue : item.endValue); } else { ApplyValue(item, _reversed ? item.endValue : item.startValue); } } else if (item.type != TransitionActionType.Sound) { ApplyValue(item, item.value); } } } }