示例#1
0
        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
        }
示例#2
0
        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();
 }
示例#5
0
 public void Init(ConversationDatabase database)
 {
     this.Clear();
     this.AddRange(database.Actors);
 }