5Y5T3M/Assets/Earth/Editor/EarthEditor.cs

56 lines
1.7 KiB
C#
Raw Normal View History

2025-09-15 22:28:04 +02:00
using System;
using UnityEngine;
using UnityEditor;
namespace DigitalRuby.Earth
{
[CustomEditor(typeof(EarthScript))]
public class EarthEditor : Editor
{
private Texture2D logo;
public override void OnInspectorGUI()
{
if (logo == null)
{
string[] guids = AssetDatabase.FindAssets("EarthLogo");
foreach (string guid in guids)
{
string path = AssetDatabase.GUIDToAssetPath(guid);
logo = AssetDatabase.LoadMainAssetAtPath(path) as Texture2D;
if (logo != null)
{
break;
}
}
}
if (logo != null)
{
const float maxLogoWidth = 430.0f;
EditorGUILayout.Separator();
float w = EditorGUIUtility.currentViewWidth;
Rect r = new Rect();
r.width = Math.Min(w - 40.0f, maxLogoWidth);
r.height = r.width / 2.7f;
Rect r2 = GUILayoutUtility.GetRect(r.width, r.height);
r.x = ((EditorGUIUtility.currentViewWidth - r.width) * 0.5f) - 4.0f;
r.y = r2.y;
GUI.DrawTexture(r, logo, ScaleMode.StretchToFill);
if (GUI.Button(r, "", new GUIStyle()))
{
Application.OpenURL("https://www.assetstore.unity3d.com/en/#!/content/60955?aid=1011lGnL");
}
EditorGUILayout.Separator();
}
DrawDefaultInspector();
}
}
[CustomEditor(typeof(EarthRootScript))]
public class EarthEditor2 : EarthEditor
{
}
}