FairyGUI.RelationItem.__targetXYChanged C# (CSharp) Method

__targetXYChanged() private method

private __targetXYChanged ( EventContext context ) : void
context EventContext
return void
        void __targetXYChanged(EventContext context)
        {
            if (_owner.relations.handling != null
                || _owner.group != null && _owner.group._updating)
            {
                _targetData.x = _target.x;
                _targetData.y = _target.y;
                return;
            }

            _owner.relations.handling = (GObject)context.sender;

            float ox = _owner.x;
            float oy = _owner.y;
            float dx = _target.x - _targetData.x;
            float dy = _target.y - _targetData.y;

            int cnt = _defs.Count;
            for (int i = 0; i < cnt; i++)
                ApplyOnXYChanged(_defs[i], dx, dy);

            _targetData.x = _target.x;
            _targetData.y = _target.y;

            if (!Mathf.Approximately(ox, _owner.x) || !Mathf.Approximately(oy, _owner.y))
            {
                ox = _owner.x - ox;
                oy = _owner.y - oy;

                _owner.UpdateGearFromRelations(1, ox, oy);

                if (_owner.parent != null)
                {
                    int transCount = _owner.parent._transitions.Count;
                    for (int i = 0; i < transCount; i++)
                        _owner.parent._transitions[i].UpdateFromRelations(_owner.id, ox, oy);
                }
            }

            _owner.relations.handling = null;
        }