PrefabPreviewButtonRenderData.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #if UNITY_EDITOR
  2. using UnityEngine;
  3. using UnityEditor;
  4. namespace O3DWB
  5. {
  6. public class PrefabPreviewButtonRenderData
  7. {
  8. #region Private Variables
  9. private float _buttonWidth;
  10. private float _buttonHeight;
  11. private GUIContent _buttonContent;
  12. #endregion
  13. #region Public Properties
  14. public float ButtonWidth { get { return _buttonWidth; } }
  15. public float ButtonHeight { get { return _buttonHeight; } }
  16. public GUIContent ButtonContent { get { return _buttonContent; } }
  17. #endregion
  18. #region Public Methods
  19. public void ExtractFromPrefab(Prefab prefab, float previewScale)
  20. {
  21. Texture2D previewTexture = PrefabPreviewTextureCache.Get().GetPrefabPreviewTexture(prefab);
  22. // Establish size
  23. _buttonWidth = (previewTexture != null ? previewTexture.width : EditorGUILayoutEx.DefaultPrefabPreviewSize) * previewScale;
  24. _buttonHeight = (previewTexture != null ? previewTexture.height : EditorGUILayoutEx.DefaultPrefabPreviewSize) * previewScale;
  25. // Establish GUI content
  26. _buttonContent = new GUIContent();
  27. _buttonContent.image = previewTexture;
  28. _buttonContent.tooltip = prefab.Name;
  29. }
  30. #endregion
  31. }
  32. }
  33. #endif