private void PaintDataNode(ConversationDatabase database) { #if UNITY_EDITOR GUIStyle style = new GUIStyle(GUI.skin.button); style.padding.top = 10; Actor selectedActor = database.GetActor(ActorId); GUILayout.BeginArea(Box, style); GUILayout.BeginHorizontal(); List <GUIContent> actors = new List <GUIContent>(); int index = 0; foreach (var actor in database.Actors) { if (selectedActor != null) { if (actor.Id == selectedActor.Id) { mSelectedIndex = index; } } actors.Add(new GUIContent(actor.Name)); index++; } int newIndex = EditorGUILayout.Popup(mSelectedIndex, actors.ToArray(), GUILayout.MaxWidth(60), GUILayout.MinWidth(60)); if (newIndex != mSelectedIndex) { mSelectedIndex = newIndex; string actorName = actors[mSelectedIndex].text; ActorId = database.GetActor(actorName).Id; } Text = EditorGUILayout.TextField(Text); GUILayout.EndHorizontal(); // Add Tag GUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Tag:", GUILayout.MaxWidth(60), GUILayout.MinWidth(60)); Tag = EditorGUILayout.TextField(Tag); GUILayout.EndHorizontal(); GUILayout.EndArea(); #endif }
public void Paint(ConversationDatabase database, bool isRoot) { GUIStyle style = new GUIStyle(GUI.skin.button); style.padding.top = 10; if (isRoot) { PaintRootNode(); } else { PaintDataNode(database); } }
public static bool OnOpenDatabase(int instanceID, int line) { ConversationDatabase database = EditorUtility.InstanceIDToObject(instanceID) as ConversationDatabase; if (database != null) { ConversationEditorWindow editorWindow = OpenConversationEditorWindow(); editorWindow.mDatabase = database; if (editorWindow.mDatabase.Conversations.Count > 0) { editorWindow.mConversation = editorWindow.mDatabase.Conversations[0]; } return(true); } return(false); }
void Start() { conversationManager = ConversationManager.Instance; dialogueInitializer = DialogueInitializer.Instance; ConversationDatabase.InitializeConversations(); }
public void Init(ConversationDatabase database) { this.Clear(); this.AddRange(database.Actors); }