public static bool SpriteButton(Sprite sprite, Rect position, GUIStyle style, bool respectRatio = false) { bool pressed = UnityEngine.GUI.Button(position, GUIContent.none, style); position = position.Expand(-style.border.horizontal, -style.border.vertical); if (respectRatio) { float ratio = sprite.textureRect.height / sprite.textureRect.width; if (sprite.textureRect.width > sprite.textureRect.height) { position.height *= ratio; } else { position.width *= ratio; } } GUIEx.DrawSprite(sprite, position); return(pressed); }
public static void DrawSprite(Sprite sprite, params GUILayoutOption[] options) { Rect controlRect = GUILayoutUtility.GetRect(GUIContent.none, new GUIStyle(), options); GUIEx.DrawSprite(sprite, controlRect); }