| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 | 
							- using System.Collections.Generic;
 
- using UnityEngine;
 
- using FairyGUI.Utils;
 
- namespace FairyGUI
 
- {
 
-     class GearSizeValue
 
-     {
 
-         public float width;
 
-         public float height;
 
-         public float scaleX;
 
-         public float scaleY;
 
-         public GearSizeValue(float width, float height, float scaleX, float scaleY)
 
-         {
 
-             this.width = width;
 
-             this.height = height;
 
-             this.scaleX = scaleX;
 
-             this.scaleY = scaleY;
 
-         }
 
-     }
 
-     /// <summary>
 
-     /// Gear is a connection between object and controller.
 
-     /// </summary>
 
-     public class GearSize : GearBase, ITweenListener
 
-     {
 
-         Dictionary<string, GearSizeValue> _storage;
 
-         GearSizeValue _default;
 
-         public GearSize(GObject owner)
 
-             : base(owner)
 
-         {
 
-         }
 
-         protected override void Init()
 
-         {
 
-             _default = new GearSizeValue(_owner.width, _owner.height, _owner.scaleX, _owner.scaleY);
 
-             _storage = new Dictionary<string, GearSizeValue>();
 
-         }
 
-         override protected void AddStatus(string pageId, ByteBuffer buffer)
 
-         {
 
-             GearSizeValue gv;
 
-             if (pageId == null)
 
-                 gv = _default;
 
-             else
 
-             {
 
-                 gv = new GearSizeValue(0, 0, 1, 1);
 
-                 _storage[pageId] = gv;
 
-             }
 
-             gv.width = buffer.ReadInt();
 
-             gv.height = buffer.ReadInt();
 
-             gv.scaleX = buffer.ReadFloat();
 
-             gv.scaleY = buffer.ReadFloat();
 
-         }
 
-         override public void Apply()
 
-         {
 
-             GearSizeValue gv;
 
-             if (!_storage.TryGetValue(_controller.selectedPageId, out gv))
 
-                 gv = _default;
 
-             if (_tweenConfig != null && _tweenConfig.tween && UIPackage._constructing == 0 && !disableAllTweenEffect)
 
-             {
 
-                 if (_tweenConfig._tweener != null)
 
-                 {
 
-                     if (_tweenConfig._tweener.endValue.x != gv.width || _tweenConfig._tweener.endValue.y != gv.height
 
-                         || _tweenConfig._tweener.endValue.z != gv.scaleX || _tweenConfig._tweener.endValue.w != gv.scaleY)
 
-                     {
 
-                         _tweenConfig._tweener.Kill(true);
 
-                         _tweenConfig._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)
 
-                 {
 
-                     if (_owner.CheckGearController(0, _controller))
 
-                         _tweenConfig._displayLockToken = _owner.AddDisplayLock();
 
-                     _tweenConfig._tweener = GTween.To(new Vector4(_owner.width, _owner.height, _owner.scaleX, _owner.scaleY),
 
-                         new Vector4(gv.width, gv.height, gv.scaleX, gv.scaleY), _tweenConfig.duration)
 
-                         .SetDelay(_tweenConfig.delay)
 
-                         .SetEase(_tweenConfig.easeType, _tweenConfig.customEase)
 
-                         .SetUserData((a ? 1 : 0) + (b ? 2 : 0))
 
-                         .SetTarget(this)
 
-                         .SetListener(this);
 
-                 }
 
-             }
 
-             else
 
-             {
 
-                 _owner._gearLocked = true;
 
-                 _owner.SetSize(gv.width, gv.height, _owner.CheckGearController(1, _controller));
 
-                 _owner.SetScale(gv.scaleX, gv.scaleY);
 
-                 _owner._gearLocked = false;
 
-             }
 
-         }
 
-         public void OnTweenStart(GTweener tweener)
 
-         {
 
-         }
 
-         public void OnTweenUpdate(GTweener tweener)
 
-         {
 
-             _owner._gearLocked = true;
 
-             int flag = (int)tweener.userData;
 
-             if ((flag & 1) != 0)
 
-                 _owner.SetSize(tweener.value.x, tweener.value.y, _owner.CheckGearController(1, _controller));
 
-             if ((flag & 2) != 0)
 
-                 _owner.SetScale(tweener.value.z, tweener.value.w);
 
-             _owner._gearLocked = false;
 
-             _owner.InvalidateBatchingState();
 
-         }
 
-         public void OnTweenComplete(GTweener tweener)
 
-         {
 
-             _tweenConfig._tweener = null;
 
-             if (_tweenConfig._displayLockToken != 0)
 
-             {
 
-                 _owner.ReleaseDisplayLock(_tweenConfig._displayLockToken);
 
-                 _tweenConfig._displayLockToken = 0;
 
-             }
 
-             _owner.DispatchEvent("onGearStop", this);
 
-         }
 
-         override public void UpdateState()
 
-         {
 
-             GearSizeValue gv;
 
-             if (!_storage.TryGetValue(_controller.selectedPageId, out gv))
 
-                 _storage[_controller.selectedPageId] = new GearSizeValue(_owner.width, _owner.height, _owner.scaleX, _owner.scaleY);
 
-             else
 
-             {
 
-                 gv.width = _owner.width;
 
-                 gv.height = _owner.height;
 
-                 gv.scaleX = _owner.scaleX;
 
-                 gv.scaleY = _owner.scaleY;
 
-             }
 
-         }
 
-         override public void UpdateFromRelations(float dx, float dy)
 
-         {
 
-             if (_controller != null && _storage != null)
 
-             {
 
-                 foreach (GearSizeValue gv in _storage.Values)
 
-                 {
 
-                     gv.width += dx;
 
-                     gv.height += dy;
 
-                 }
 
-                 _default.width += dx;
 
-                 _default.height += dy;
 
-                 UpdateState();
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |