private static void TriggerActivationGui([NotNull] VoiceReceiptTrigger trigger) { using (var scope = new EditorGUILayout.ToggleGroupScope("Trigger Activation", trigger.UseColliderTrigger)) { trigger.ChangeWithUndo( "Changed Dissonance Trigger Activation", scope.enabled, trigger.UseColliderTrigger, a => trigger.UseColliderTrigger = a ); EditorGUILayout.HelpBox( "Use trigger activation to only receive when the player is inside a trigger volume.", MessageType.Info); if (trigger.UseColliderTrigger) { if (!trigger.gameObject.GetComponents <Collider>().Any(c => c.isTrigger)) { EditorGUILayout.HelpBox("Cannot find any collider triggers attached to this entity.", MessageType.Warning); } } } }
private void RoomsGui([NotNull] VoiceReceiptTrigger trigger) { var roomNames = _roomSettings.Names; var haveRooms = roomNames.Count > 0; if (haveRooms) { EditorGUILayout.BeginHorizontal(); var roomList = roomNames; var roomIndex = -1; if (string.IsNullOrEmpty(trigger.RoomName)) { EditorGUILayout.LabelField("No room"); } else { roomIndex = roomList.IndexOf(trigger.RoomName); if (roomIndex == -1) { roomList = new List <string>(roomList); roomList.Insert(0, trigger.RoomName); roomIndex = 0; } } trigger.ChangeWithUndo( "Changed Dissonance Receiver Room", EditorGUILayout.Popup(new GUIContent("Chat Room", "The room to receive voice from"), roomIndex, roomList.Select(a => new GUIContent(a)).ToArray()), roomIndex, a => trigger.RoomName = roomNames[a] ); if (GUILayout.Button("Config Rooms")) { ChatRoomSettingsEditor.GoToSettings(); } EditorGUILayout.EndHorizontal(); if (string.IsNullOrEmpty(trigger.RoomName)) { EditorGUILayout.HelpBox("No chat room selected", MessageType.Error); } else if (!roomNames.Contains(trigger.RoomName)) { EditorGUILayout.HelpBox(string.Format("Room '{0}' is no longer defined in the chat room configuration! \nRe-create the '{0}' room, or select a different room.", trigger.RoomName), MessageType.Warning); } } else { if (GUILayout.Button("Create New Rooms")) { ChatRoomSettingsEditor.GoToSettings(); } } if (!haveRooms) { EditorGUILayout.HelpBox("No rooms are defined. Click 'Create New Rooms' to configure chat rooms.", MessageType.Warning); } }