public void SetSize(float wv, float hv, bool ignorePivot)
{
if (_rawWidth != wv || _rawHeight != hv)
{
_rawWidth = wv;
_rawHeight = hv;
if (wv < 0)
wv = 0;
if (hv < 0)
hv = 0;
float oldWidth = _width;
float oldHeight = _height;
_width = wv;
_height = hv;
HandleSizeChanged();
if (_pivotX != 0 || _pivotY != 0)
{
if (!_pivotAsAnchor)
{
if (!ignorePivot)
this.SetXY(_x - _pivotX * (_width - oldWidth), _y - _pivotY * (_height - oldHeight));
else
this.HandlePositionChanged();
}
else
this.HandlePositionChanged();
}
UpdateGear(2);
if (parent != null)
{
relations.OnOwnerSizeChanged(_width - oldWidth, _height - oldHeight);
parent.SetBoundsChangedFlag();
}
onSizeChanged.Call();
}
}