82 lines
3.4 KiB
C#
82 lines
3.4 KiB
C#
using UnityEditor;
|
|
using UnityEngine;
|
|
|
|
namespace ArcadeVP
|
|
{
|
|
[CustomEditor(typeof(ArcadeVehicleController))]
|
|
public class AVC_Editor : Editor
|
|
{
|
|
private const string DiscordUrl = "https://discord.gg/yU82FbNHcu";
|
|
private const string TutorilUrl = "https://youtu.be/2Sif8yKKl40";
|
|
private const string DocumentationUrl = "/Ash Assets/Arcade Vehicle Physics/Documentation/Documentation.pdf";
|
|
private const string RateUrl = "https://assetstore.unity.com/packages/tools/physics/arcade-vehicle-physics-193251#reviews";
|
|
|
|
private Texture2D headerBackground;
|
|
|
|
private void OnEnable()
|
|
{
|
|
// Create a white texture for the header background
|
|
headerBackground = new Texture2D(1, 1);
|
|
headerBackground.SetPixel(0, 0, Color.black);
|
|
headerBackground.Apply();
|
|
}
|
|
|
|
private void OnDisable()
|
|
{
|
|
// Destroy the texture to free up memory
|
|
DestroyImmediate(headerBackground);
|
|
}
|
|
|
|
public override void OnInspectorGUI()
|
|
{
|
|
// Define the colors
|
|
Color primaryColor = new Color(0, 1f, 0); // Green
|
|
|
|
// Create a header for the script with white background
|
|
GUIStyle headerStyle = new GUIStyle(EditorStyles.boldLabel);
|
|
headerStyle.fontSize = 27;
|
|
headerStyle.alignment = TextAnchor.MiddleCenter;
|
|
headerStyle.normal.textColor = primaryColor;
|
|
headerStyle.normal.background = headerBackground;
|
|
headerStyle.padding = new RectOffset(1, 1, 1, 1);
|
|
GUILayout.Space(10f);
|
|
GUILayout.Label("Arcade Vehicle Physics", headerStyle);
|
|
GUILayout.Space(10f);
|
|
|
|
// Create the buttons
|
|
GUIStyle buttonStyle = new GUIStyle(GUI.skin.button);
|
|
buttonStyle.normal.textColor = Color.white;
|
|
buttonStyle.fontSize = 12;
|
|
buttonStyle.alignment = TextAnchor.MiddleCenter;
|
|
buttonStyle.padding = new RectOffset(5, 5, 5, 5);
|
|
|
|
|
|
GUILayout.BeginHorizontal();
|
|
if (GUILayout.Button(new GUIContent("Join Discord", null, "Join the Discord community"), buttonStyle, GUILayout.Height(20f), GUILayout.ExpandWidth(true)))
|
|
{
|
|
Application.OpenURL(DiscordUrl);
|
|
}
|
|
if (GUILayout.Button(new GUIContent("Tutorial", null, "Watch videos on YouTube"), buttonStyle, GUILayout.Height(20f), GUILayout.ExpandWidth(true)))
|
|
{
|
|
Application.OpenURL(TutorilUrl);
|
|
}
|
|
if (GUILayout.Button(new GUIContent("Documentation", null, "Read the documentation"), buttonStyle, GUILayout.Height(20f), GUILayout.ExpandWidth(true)))
|
|
{
|
|
string doc_path = Application.dataPath + DocumentationUrl;
|
|
Application.OpenURL("file://" + doc_path);
|
|
}
|
|
GUILayout.EndHorizontal();
|
|
GUILayout.BeginHorizontal();
|
|
if (GUILayout.Button(new GUIContent("Rate the Asset", null, "Rate this asset on the Unity Asset Store"), buttonStyle, GUILayout.Height(20f), GUILayout.ExpandWidth(true)))
|
|
{
|
|
Application.OpenURL(RateUrl);
|
|
}
|
|
GUILayout.EndHorizontal();
|
|
GUILayout.Space(10f);
|
|
|
|
// Display all public variables of the SimcadeVehicleController script
|
|
DrawDefaultInspector();
|
|
}
|
|
}
|
|
}
|