using System.Collections.Generic; using FairyGUI.Utils; namespace FairyGUI { /// /// Gear is a connection between object and controller. /// public class GearText : GearBase { Dictionary _storage; string _default; public GearText(GObject owner) : base(owner) { } protected override void Init() { _default = _owner.text; _storage = new Dictionary(); } override protected void AddStatus(string pageId, ByteBuffer buffer) { if (pageId == null) _default = buffer.ReadS(); else _storage[pageId] = buffer.ReadS(); } override public void Apply() { _owner._gearLocked = true; string cv; if (!_storage.TryGetValue(_controller.selectedPageId, out cv)) cv = _default; _owner.text = cv; _owner._gearLocked = false; } override public void UpdateState() { _storage[_controller.selectedPageId] = _owner.text; } } }