public override void UpdateState()
{
if (_controller == null || _owner._gearLocked || _owner.underConstruct)
return;
IAnimationGear mc = (IAnimationGear)_owner;
GearAnimationValue gv;
if (!_storage.TryGetValue(_controller.selectedPageId, out gv))
_storage[_controller.selectedPageId] = new GearAnimationValue(mc.playing, mc.frame);
else
{
gv.playing = mc.playing;
gv.frame = mc.frame;
}
}