2022-05-13 09:45:33 -04:00

75 lines
2.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.InputSystem;
namespace NewHorizons.Utility
{
class DebugMenu : MonoBehaviour
{
GUIStyle _editorMenuStyle;
Vector2 EditorMenuSize = new Vector2(600, 900);
bool menuOpen = false;
private void InitMenu()
{
if (_editorMenuStyle != null) return;
Texture2D bgTexture = MakeTexture((int)EditorMenuSize.x, (int)EditorMenuSize.y, Color.black);
_editorMenuStyle = new GUIStyle
{
normal =
{
background = bgTexture
}
};
}
private Texture2D MakeTexture(int width, int height, Color color)
{
Color[] pixels = new Color[width*height];
for(int i = 0; i < pixels.Length; i++)
{
pixels[i] = color;
}
Texture2D newTexture = new Texture2D(width, height);
newTexture.SetPixels(pixels);
newTexture.Apply();
return newTexture;
}
private void OnGUI()
{
if (!menuOpen) return;
if (!Main.Debug) return;
Vector2 menuPosition = Vector2.zero; // new Vector2(Screen.width - EditorMenuSize.x - 10, 10);
//TODO: add gui for stuff https://github.com/Bwc9876/OW-SaveEditor/blob/master/SaveEditor/SaveEditor.cs
// https://docs.unity3d.com/ScriptReference/GUI.TextField.html
GUILayout.BeginArea(new Rect(menuPosition.x, menuPosition.y, EditorMenuSize.x, EditorMenuSize.y), _editorMenuStyle);
GUILayout.Label("*: Restart Required");
GUILayout.Space(20);
GUILayout.Label("*: Restart Required");
GUILayout.EndArea();
}
private void Update()
{
if (!Main.Debug) return;
if (Keyboard.current[Key.Escape].wasPressedThisFrame)
{
menuOpen = !menuOpen;
if (menuOpen) InitMenu();
}
}
}
}