public override void Apply()
{
GearSizeValue gv;
if (!_storage.TryGetValue(_controller.selectedPageId, out gv))
gv = _default;
if (tween && UIPackage._constructing == 0 && !disableAllTweenEffect)
{
if (tweener != null)
{
if (_tweenTarget.width != gv.width || _tweenTarget.height != gv.height
|| _tweenTarget.scaleX != gv.scaleX || _tweenTarget.scaleY != gv.scaleY)
{
tweener.Kill(true);
tweener = null;
}
else
return;
}
bool a = gv.width != _owner.width || gv.height != _owner.height;
bool b = gv.scaleX != _owner.scaleX || gv.scaleY != _owner.scaleY;
if (a || b)
{
_owner.internalVisible++;
_tweenTarget = gv;
tweener = DOTween.To(() => new Vector4(_owner.width, _owner.height, _owner.scaleX, _owner.scaleY), v =>
{
_owner._gearLocked = true;
if (a)
_owner.SetSize(v.x, v.y, _owner.gearXY.controller == _controller);
if (b)
_owner.SetScale(v.z, v.w);
_owner._gearLocked = false;
}, new Vector4(gv.width, gv.height, gv.scaleX, gv.scaleY), tweenTime)
.SetEase(easeType)
.SetUpdate(true)
.OnUpdate(() =>
{
_owner.InvalidateBatchingState();
})
.OnComplete(() =>
{
tweener = null;
_owner.internalVisible--;
_owner.InvalidateBatchingState();
_owner.OnGearStop.Call(this);
});
if (delay > 0)
tweener.SetDelay(delay);
}
}
else
{
_owner._gearLocked = true;
_owner.SetSize(gv.width, gv.height, _owner.gearXY.controller == _controller);
_owner.SetScale(gv.scaleX, gv.scaleY);
_owner._gearLocked = false;
}
}