47 lines
1.5 KiB
C#
47 lines
1.5 KiB
C#
using UnityEngine;
|
|
using UnityEditor;
|
|
|
|
[CustomEditor(typeof(NearbyRoomsChanger))]
|
|
public class NearbyRoomsChangerEditor : Editor
|
|
{
|
|
public override void OnInspectorGUI()
|
|
{
|
|
serializedObject.Update();
|
|
|
|
NearbyRoomsChanger changer = (NearbyRoomsChanger)target;
|
|
|
|
EditorGUILayout.PropertyField(serializedObject.FindProperty("targetRoomTrigger"));
|
|
|
|
if (changer.targetRoomTrigger != null)
|
|
{
|
|
RoomTrigger rt = changer.targetRoomTrigger;
|
|
|
|
if (rt.nearbyRoomCategories != null && rt.nearbyRoomCategories.Count > 0)
|
|
{
|
|
string[] categoryNames = new string[rt.nearbyRoomCategories.Count];
|
|
for (int i = 0; i < rt.nearbyRoomCategories.Count; i++)
|
|
{
|
|
categoryNames[i] = rt.nearbyRoomCategories[i].categoryName;
|
|
}
|
|
|
|
changer.selectedCategoryIndex = EditorGUILayout.Popup("Category", changer.selectedCategoryIndex, categoryNames);
|
|
|
|
if (GUILayout.Button("Set Selected Category"))
|
|
{
|
|
changer.SetSelectedCategory();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
EditorGUILayout.HelpBox("Target RoomTrigger has no categories.", MessageType.Warning);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
EditorGUILayout.HelpBox("Assign a Target RoomTrigger to select a category.", MessageType.Info);
|
|
}
|
|
|
|
serializedObject.ApplyModifiedProperties();
|
|
}
|
|
}
|