UpdateGearFromRelations() private method

private UpdateGearFromRelations ( int index, float dx, float dy ) : void
index int
dx float
dy float
return void
Example #1
0
        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);
                    }
                }
            }
        }