commit 0d3516774e831df04d6ca0b99d28b8068e3b91d8 Author: Brajanowski Date: Fri Mar 14 19:53:29 2025 +0100 first diff --git a/Editor.meta b/Editor.meta new file mode 100644 index 0000000..762ee8d --- /dev/null +++ b/Editor.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: da2067e6cabc478f8fe1208899716db5 +timeCreated: 1740883415 \ No newline at end of file diff --git a/Editor/Inspectors.meta b/Editor/Inspectors.meta new file mode 100644 index 0000000..bc1a1b1 --- /dev/null +++ b/Editor/Inspectors.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: ea037ce7419341d8a7961be6343fd957 +timeCreated: 1741641033 \ No newline at end of file diff --git a/Editor/Inspectors/CVarAssetInspector.cs b/Editor/Inspectors/CVarAssetInspector.cs new file mode 100644 index 0000000..758cf17 --- /dev/null +++ b/Editor/Inspectors/CVarAssetInspector.cs @@ -0,0 +1,55 @@ +using RebootKit.Engine.Services.Console; +using UnityEditor; +using UnityEditor.UIElements; +using UnityEngine.UIElements; + +namespace RebootKitEditor.Inspectors { + [CustomEditor(typeof(CVarAsset))] + public class CVarAssetInspector : Editor { + public override VisualElement CreateInspectorGUI() { + SerializedProperty cvarProperty = serializedObject.FindProperty("_cvar"); + CVarSerializedProperties properties = CVarSerializedPropertiesFinder.Find(cvarProperty); + + VisualElement container = new(); + + container.Add(new PropertyField(properties.Flags)); + container.Add(new PropertyField(properties.Name)); + + PropertyField descriptionField = new PropertyField(properties.Description); + container.Add(descriptionField); + + container.Add(new PropertyField(properties.ValueKind)); + container.Add(new PropertyField(properties.ValueNumber)); + container.Add(new PropertyField(properties.ValueString)); + return container; + } + } + + public struct CVarSerializedProperties { + public SerializedProperty Flags; + public SerializedProperty Name; + public SerializedProperty Description; + + public SerializedProperty ValueKind; + public SerializedProperty ValueNumber; + public SerializedProperty ValueString; + } + + public static class CVarSerializedPropertiesFinder { + public static CVarSerializedProperties Find(SerializedProperty cvar) { + CVarSerializedProperties properties = new(); + properties.Flags = cvar.FindPropertyRelative("Flags"); + properties.Name = cvar.FindPropertyRelative("Name"); + properties.Description = cvar.FindPropertyRelative("Description"); + + SerializedProperty value = cvar.FindPropertyRelative("DefaultValue"); + if (value != null) { + properties.ValueKind = value.FindPropertyRelative("Kind"); + properties.ValueNumber = value.FindPropertyRelative("NumberValue"); + properties.ValueString = value.FindPropertyRelative("StringValue"); + } + + return properties; + } + } +} \ No newline at end of file diff --git a/Editor/Inspectors/CVarAssetInspector.cs.meta b/Editor/Inspectors/CVarAssetInspector.cs.meta new file mode 100644 index 0000000..b5c0ba2 --- /dev/null +++ b/Editor/Inspectors/CVarAssetInspector.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 43a78b204a01438ea8e99757046c213d +timeCreated: 1741641043 \ No newline at end of file diff --git a/Editor/Oracle.meta b/Editor/Oracle.meta new file mode 100644 index 0000000..06fec4a --- /dev/null +++ b/Editor/Oracle.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e148f21299f99ad4fa76c50598092230 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/Oracle/OracleWindow.cs b/Editor/Oracle/OracleWindow.cs new file mode 100644 index 0000000..09b28bc --- /dev/null +++ b/Editor/Oracle/OracleWindow.cs @@ -0,0 +1,23 @@ +using UnityEditor; +using UnityEngine; +using UnityEngine.UIElements; + +namespace SzafaKitEditor.Oracle { + public class OracleWindow : EditorWindow { + [SerializeField] + private VisualTreeAsset m_VisualTreeAsset = default; + + [MenuItem("Szafa/Oracle")] + public static void ShowWindow() { + OracleWindow wnd = GetWindow(); + wnd.titleContent = new GUIContent("OracleWindow"); + } + + public void CreateGUI() { + VisualElement root = rootVisualElement; + + VisualElement labelFromUXML = m_VisualTreeAsset.Instantiate(); + root.Add(labelFromUXML); + } + } +} \ No newline at end of file diff --git a/Editor/Oracle/OracleWindow.cs.meta b/Editor/Oracle/OracleWindow.cs.meta new file mode 100644 index 0000000..80184b0 --- /dev/null +++ b/Editor/Oracle/OracleWindow.cs.meta @@ -0,0 +1,13 @@ +fileFormatVersion: 2 +guid: e2bd75a497487ee49a0a51cc223c552d +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: + - m_VisualTreeAsset: {fileID: 9197481963319205126, guid: 852055ed179f6f546b9f0ff34d97f4fb, + type: 3} + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/Oracle/OracleWindow.uss b/Editor/Oracle/OracleWindow.uss new file mode 100644 index 0000000..218263a --- /dev/null +++ b/Editor/Oracle/OracleWindow.uss @@ -0,0 +1,5 @@ +.custom-label { + font-size: 20px; + -unity-font-style: bold; + color: rgb(68, 138, 255); +} \ No newline at end of file diff --git a/Editor/Oracle/OracleWindow.uss.meta b/Editor/Oracle/OracleWindow.uss.meta new file mode 100644 index 0000000..0c45831 --- /dev/null +++ b/Editor/Oracle/OracleWindow.uss.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 56459608f8e71f140b0933d6689a0846 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 12385, guid: 0000000000000000e000000000000000, type: 0} + disableValidation: 0 diff --git a/Editor/Oracle/OracleWindow.uxml b/Editor/Oracle/OracleWindow.uxml new file mode 100644 index 0000000..0e88309 --- /dev/null +++ b/Editor/Oracle/OracleWindow.uxml @@ -0,0 +1,10 @@ + +