Exemplo n.º 1
0
    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;
        }
    }
Exemplo n.º 3
0
    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();
    }