Beispiel #1
0
        public static Template FromEditorPrefs()
        {
            Template template = null;

            if (EditorPrefs.HasKey(DialogueDatabaseTemplateKey))
            {
                template = Template.FromXml(EditorPrefs.GetString(DialogueDatabaseTemplateKey));
            }
            return(template ?? Template.FromDefault());
        }
        public static Template FromDefault()
        {
            var template = Template.FromDefault();

            if (EditorGUIUtility.isProSkin)
            {
                template.npcLineColor = new Color(0.75f, 0.25f, 0.25f);
                template.pcLineColor  = new Color(0.25f, 0.5f, 1f);
            }
            return(template);
        }
        public static DialogueDatabase CreateDialogueDatabaseInstance(bool createDefaultAssets = false)
        {
            var template    = Template.FromDefault();
            var wrapperType = RuntimeTypeUtility.GetWrapperType(typeof(DialogueDatabase)) ?? typeof(DialogueDatabase);
            var database    = ScriptableObjectUtility.CreateScriptableObject(wrapperType) as DialogueDatabase;

            database.ResetEmphasisSettings();
            if (createDefaultAssets)
            {
                database.actors.Add(template.CreateActor(1, "Player", true));
                database.variables.Add(template.CreateVariable(1, "Alert", string.Empty));
            }
            return(database);
        }
        public void AddNewVariable(string newVariableName, FieldType newVariableType)
        {
            if (database == null)
            {
                return;
            }
            if (database.GetVariable(newVariableName) != null)
            {
                return;
            }
            var template      = Template.FromDefault();
            var newVariableID = template.GetNextVariableID(database);
            var newVariable   = template.CreateVariable(newVariableID, newVariableName, GetDefaultNewVariableValue(newVariableType), newVariableType);

            database.variables.Add(newVariable);
        }