FairyGUI.RelationItem.ApplyOnSelfSizeChanged C# (CSharp) Method

ApplyOnSelfSizeChanged() public method

public ApplyOnSelfSizeChanged ( float dWidth, float dHeight ) : void
dWidth float
dHeight float
return void
        public void ApplyOnSelfSizeChanged(float dWidth, float dHeight)
        {
            int cnt = _defs.Count;
            if (cnt == 0)
                return;

            float ox = _owner.x;
            float oy = _owner.y;

            for (int i = 0; i < cnt; i++)
            {
                RelationDef info = _defs[i];
                switch (info.type)
                {
                    case RelationType.Center_Center:
                    case RelationType.Right_Center:
                        _owner.x -= dWidth / 2;
                        break;

                    case RelationType.Right_Left:
                    case RelationType.Right_Right:
                        _owner.x -= dWidth;
                        break;

                    case RelationType.Middle_Middle:
                    case RelationType.Bottom_Middle:
                        _owner.y -= dHeight / 2;
                        break;
                    case RelationType.Bottom_Top:
                    case RelationType.Bottom_Bottom:
                        _owner.y -= dHeight;
                        break;
                }
            }

            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);
                }
            }
        }