chunk 1: core gameplay scripts scenes runtime assets

This commit is contained in:
2026-04-06 11:02:34 +03:00
parent fa0388bc79
commit 0d11a097d8
703 changed files with 2292651 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
using UnityEngine;
using UnityEditor;
using UnityEditorInternal;
[CustomEditor(typeof(DeviceDisplayConfigurator))]
public class DeviceDisplayConfiguratorEditor : UnityEditor.Editor
{
private ReorderableList listDeviceSets;
private SerializedProperty disconnectedDeviceProperty;
private void OnEnable()
{
DrawListOfDevices();
disconnectedDeviceProperty = serializedObject.FindProperty("disconnectedDeviceSettings");
}
public override void OnInspectorGUI()
{
serializedObject.Update();
EditorGUILayout.LabelField("Device Sets", EditorStyles.boldLabel);
listDeviceSets.DoLayoutList();
EditorGUILayout.PropertyField(disconnectedDeviceProperty);
serializedObject.ApplyModifiedProperties();
}
void DrawListOfDevices()
{
listDeviceSets = new ReorderableList(serializedObject, serializedObject.FindProperty("listDeviceSets"), true, true, true, true);
listDeviceSets.drawHeaderCallback = (Rect rect) => {
EditorGUI.LabelField(CalculateColumn(rect, 1, 15, 0), "Raw Path Name");
EditorGUI.LabelField(CalculateColumn(rect, 2, 15, 0), "Device Display Settings");
};
listDeviceSets.drawElementCallback = (Rect rect, int index, bool isActive, bool isFocused) => {
var element = listDeviceSets.serializedProperty.GetArrayElementAtIndex(index);
rect.y += 2;
EditorGUI.PropertyField(CalculateColumn(rect, 1, 0, 0), element.FindPropertyRelative("deviceRawPath"), GUIContent.none);
EditorGUI.PropertyField(CalculateColumn(rect, 2, 10, 10), element.FindPropertyRelative("deviceDisplaySettings"), GUIContent.none);
};
}
Rect CalculateColumn(Rect rect, int columnNumber, float xPadding, float xWidth)
{
float xPosition = rect.x;
switch (columnNumber)
{
case 1:
xPosition = rect.x + xPadding;
break;
case 2:
xPosition = rect.x + rect.width/2 + xPadding;
break;
}
return new Rect(xPosition, rect.y, rect.width / 2 - xWidth, EditorGUIUtility.singleLineHeight);
}
}