mirror of
https://github.com/muskit/H3VR-TNH-Quality-of-Life-Improvements.git
synced 2026-06-02 20:24:26 -07:00
Initial commit
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
using System;
|
||||
using UnityEditor;
|
||||
using UnityEngine;
|
||||
|
||||
namespace MeatKit
|
||||
{
|
||||
public class BuildWindow : EditorWindow
|
||||
{
|
||||
private static BuildProfile _selectedProfileInternal;
|
||||
private static BuildProfileEditor _editor;
|
||||
|
||||
public static BuildProfile SelectedProfile
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!_selectedProfileInternal)
|
||||
_selectedProfileInternal = MeatKitCache.LastSelectedProfile;
|
||||
return _selectedProfileInternal;
|
||||
}
|
||||
private set
|
||||
{
|
||||
if (_selectedProfileInternal != value)
|
||||
_editor = null;
|
||||
_selectedProfileInternal = value;
|
||||
}
|
||||
}
|
||||
|
||||
private static BuildProfileEditor EditorInstance
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!_editor && SelectedProfile)
|
||||
_editor = (BuildProfileEditor) Editor.CreateEditor(SelectedProfile, typeof(BuildProfileEditor));
|
||||
return _editor;
|
||||
}
|
||||
}
|
||||
|
||||
[MenuItem("MeatKit/Build Window")]
|
||||
public static void Open()
|
||||
{
|
||||
GetWindow<BuildWindow>("MeatKit Build").Show();
|
||||
}
|
||||
|
||||
private void OnGUI()
|
||||
{
|
||||
EditorGUILayout.LabelField("Selected Build Profile", EditorStyles.boldLabel);
|
||||
|
||||
EditorGUI.BeginChangeCheck();
|
||||
SelectedProfile = EditorGUILayout.ObjectField(SelectedProfile, typeof(BuildProfile), false) as BuildProfile;
|
||||
if (EditorGUI.EndChangeCheck())
|
||||
{
|
||||
MeatKitCache.LastSelectedProfile = SelectedProfile;
|
||||
}
|
||||
|
||||
if (!SelectedProfile)
|
||||
{
|
||||
GUILayout.Label("Please select a profile");
|
||||
return;
|
||||
}
|
||||
|
||||
EditorGUILayout.Space();
|
||||
|
||||
EditorInstance.OnInspectorGUI();
|
||||
|
||||
GUILayout.FlexibleSpace();
|
||||
|
||||
if (GUILayout.Button("Build!", GUILayout.Height(50)))
|
||||
MeatKit.DoBuild();
|
||||
|
||||
if (MeatKitCache.LastBuildTime != default(DateTime))
|
||||
GUILayout.Label("Last build: " + MeatKitCache.LastBuildTime + " (" +
|
||||
MeatKitCache.LastBuildDuration.GetReadableTimespan() + ")");
|
||||
else GUILayout.Label("Last build: Never");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user