public void SetSpriteSize(float size) { Vector2 s = mSprite.localSize; s.x = size; mSprite.SetDimensions((int)s.x, (int)s.y); }
static public void ChangeSpriteAspectSnap(UI2DSprite ui_sprite2d, Sprite sprite, Vector2 raw_size) { if (sprite == null) { return; } ui_sprite2d.sprite2D = sprite; float ratio = sprite.rect.width / sprite.rect.height; ui_sprite2d.SetDimensions(Mathf.RoundToInt(ratio * raw_size.y), Mathf.RoundToInt(raw_size.y)); if (raw_size.x < ui_sprite2d.width) { ui_sprite2d.SetDimensions(Mathf.RoundToInt(raw_size.x), Mathf.RoundToInt(raw_size.x / ratio)); } ui_sprite2d.Update(); }