public override void OnInspectorGUI() { serializedObject.Update(); m_OpenPortalEventHandlerInspector.OnGUI(); m_ClosePortalEventHandlerInspector.OnGUI(); m_roomPortal.FindOverlappingRooms(roomList); GUILayout.BeginVertical("Box"); { string[] labels = new string[2] { "Back", "Front" }; for (int i = 0; i < 2; i++) { int roomListCount = roomList[i].rooms.Count; string[] roomLabels = new string[roomListCount]; for (int j = 0; j < roomListCount; j++) { roomLabels[j] = (j + 1) + ". " + roomList[i].rooms[j].name; } m_selectedIndex[i] = EditorGUILayout.Popup(labels[i] + " Room", Mathf.Clamp(m_selectedIndex[i], 0, roomListCount - 1), roomLabels); m_roomPortal.rooms[i] = (m_selectedIndex[i] < 0 || m_selectedIndex[i] >= roomListCount) ? null : roomList[i].rooms[m_selectedIndex[i]]; } } GUILayout.EndVertical(); serializedObject.ApplyModifiedProperties(); }
private void OnEnable() { m_OpenPortalEventHandlerInspector.Init(serializedObject, "triggerList", "Open On: ", false); m_ClosePortalEventHandlerInspector.Init(serializedObject, "closePortalTriggerList", "Close On: ", false); m_roomPortal = target as AkRoomPortal; m_roomPortal.FindOverlappingRooms(roomList); for (var i = 0; i < 2; i++) { var index = roomList[i].BinarySearch(m_roomPortal.GetRoom(i)); m_selectedIndex[i] = index == -1 ? 0 : index; } }
public override void OnInspectorGUI() { serializedObject.Update(); using (new UnityEditor.EditorGUILayout.VerticalScope("box")) { UnityEditor.EditorGUILayout.PropertyField(initialState); m_OpenPortalEventHandlerInspector.OnGUI(); m_ClosePortalEventHandlerInspector.OnGUI(); } m_roomPortal.FindOverlappingRooms(roomList); using (new UnityEditor.EditorGUILayout.VerticalScope("box")) { var labels = new string[2] { "Back", "Front" }; for (var i = 0; i < 2; i++) { var roomListCount = roomList[i].rooms.Count; var roomLabels = new string[roomListCount]; for (var j = 0; j < roomListCount; j++) { roomLabels[j] = j + 1 + ". " + roomList[i].rooms[j].name; } m_selectedIndex[i] = UnityEditor.EditorGUILayout.Popup(labels[i] + " Room", UnityEngine.Mathf.Clamp(m_selectedIndex[i], 0, roomListCount - 1), roomLabels); m_roomPortal.SetRoom(i, m_selectedIndex[i] < 0 || m_selectedIndex[i] >= roomListCount ? null : roomList[i].rooms[m_selectedIndex[i]]); } } serializedObject.ApplyModifiedProperties(); }