net.dreditor.freetime 0.0.0-stage → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/.attestation.p7m +0 -0
  2. package/CharacterReaction.cs +46 -0
  3. package/CharacterReaction.cs.meta +11 -0
  4. package/DREditor.FreeTime.asmdef +26 -0
  5. package/DREditor.FreeTime.asmdef.meta +7 -0
  6. package/FTECharacterDialogues.cs +56 -0
  7. package/FTECharacterDialogues.cs.meta +11 -0
  8. package/FTEData.cs +52 -0
  9. package/FTEData.cs.meta +11 -0
  10. package/FTEDataHandler.cs +181 -0
  11. package/FTEDataHandler.cs.meta +11 -0
  12. package/FTEDatabase.cs +69 -0
  13. package/FTEDatabase.cs.meta +11 -0
  14. package/FTEDatabaseEditor.cs +102 -0
  15. package/FTEDatabaseEditor.cs.meta +11 -0
  16. package/FTEDialogues.cs +33 -0
  17. package/FTEDialogues.cs.meta +11 -0
  18. package/FTEManager.cs +323 -0
  19. package/FTEManager.cs.meta +11 -0
  20. package/IFTEDataHandler.cs +38 -0
  21. package/IFTEDataHandler.cs.meta +11 -0
  22. package/MoveToNextDayEvent.cs +214 -0
  23. package/MoveToNextDayEvent.cs.meta +11 -0
  24. package/PresentReaction.cs +37 -0
  25. package/PresentReaction.cs.meta +11 -0
  26. package/ReactionDatabase.cs +112 -0
  27. package/ReactionDatabase.cs.meta +11 -0
  28. package/ReactionUtility.cs +44 -0
  29. package/ReactionUtility.cs.meta +11 -0
  30. package/Samples~/FTE_Data_Handler.prefab +49 -0
  31. package/Samples~/FTE_Data_Handler.prefab.meta +7 -0
  32. package/Samples~/FTE_Manager_ETemplate.prefab +218 -0
  33. package/Samples~/FTE_Manager_ETemplate.prefab.meta +7 -0
  34. package/Samples~/Move_To_Next_Day_Event.prefab +83 -0
  35. package/Samples~/Move_To_Next_Day_Event.prefab.meta +7 -0
  36. package/Samples~/Start_FTE_Handler_ETemplate.prefab +336 -0
  37. package/Samples~/Start_FTE_Handler_ETemplate.prefab.meta +7 -0
  38. package/SimpleFTEEntryCollection.cs +29 -0
  39. package/SimpleFTEEntryCollection.cs.meta +2 -0
  40. package/StartFTEAnimation.cs +77 -0
  41. package/StartFTEAnimation.cs.meta +11 -0
  42. package/package.json +45 -4
  43. package/package.json.meta +7 -0
  44. package/README.md +0 -3
Binary file
@@ -0,0 +1,46 @@
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.Characters;
3
+ using DREditor.Dialogues;
4
+ using System;
5
+ using System.Collections.Generic;
6
+ using UnityEngine;
7
+
8
+ namespace DREditor.FreeTime
9
+ {
10
+ /// <summary>
11
+ ///
12
+ /// </summary>
13
+ [Serializable]
14
+ [CreateAssetMenu(menuName = "DREditor/FTE/Character Reaction", fileName = "Character Reaction")]
15
+ public class CharacterReaction : ScriptableObject
16
+ {
17
+ /// <summary>
18
+ ///
19
+ /// </summary>
20
+ [Header("")]
21
+ [Divider]
22
+ [Tooltip("")]
23
+ public Character character = null;
24
+
25
+ /// <summary>
26
+ ///
27
+ /// </summary>
28
+ [Tooltip("")]
29
+ public List<PresentReaction> Reactions = new();
30
+
31
+
32
+ /// <summary>
33
+ ///
34
+ /// </summary>
35
+ /// <param name="dialogue"></param>
36
+ /// <returns></returns>
37
+ public virtual PresentReaction GetReactionFromDialogue(Dialogue dialogue)
38
+ {
39
+ foreach (PresentReaction reaction in Reactions)
40
+ if (reaction.reactions.Contains(dialogue))
41
+ return reaction;
42
+
43
+ return null;
44
+ }
45
+ }
46
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 26482a86640718241a7192798dc28a9b
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "DREditor.FreeTime",
3
+ "rootNamespace": "",
4
+ "references": [
5
+ "Unity.InputSystem",
6
+ "Unity.TextMeshPro",
7
+ "DREditor",
8
+ "DREditor.Controls",
9
+ "DREditor.Fading",
10
+ "DREditor.DialogueEventHandling",
11
+ "DREditor.RoomLoading",
12
+ "DREditor.DialogueMechanics.Investigation",
13
+ "DREditor.UI.ReportCards",
14
+ "DREditor.Editor",
15
+ "DREditor.Presents"
16
+ ],
17
+ "includePlatforms": [],
18
+ "excludePlatforms": [],
19
+ "allowUnsafeCode": false,
20
+ "overrideReferences": false,
21
+ "precompiledReferences": [],
22
+ "autoReferenced": true,
23
+ "defineConstraints": [],
24
+ "versionDefines": [],
25
+ "noEngineReferences": false
26
+ }
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: 226a3b48467573c46a1dc9b708dad8ae
3
+ AssemblyDefinitionImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
@@ -0,0 +1,56 @@
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.Characters;
3
+ using DREditor.Dialogues;
4
+ using System;
5
+ using System.Collections.Generic;
6
+ using System.Linq;
7
+ using UnityEngine;
8
+
9
+ namespace DREditor.FreeTime
10
+ {
11
+ /// <summary>
12
+ ///
13
+ /// </summary>
14
+ [Serializable]
15
+ [CreateAssetMenu(menuName = "DREditor/FTE/FTE Character Dialogues", fileName = "FTE Character Dialogues")]
16
+ public class FTECharacterDialogues : FTEDialogues
17
+ {
18
+ /// <summary>
19
+ ///
20
+ /// </summary>
21
+ [Header("")]
22
+ [Header("")]
23
+ [Divider]
24
+ [Tooltip("")]
25
+ [SerializeField] protected Character character = null;
26
+
27
+ /// <summary>
28
+ ///
29
+ /// </summary>
30
+ [Tooltip("")]
31
+ [SerializeField] protected List<Dialogue> freeTimeDialogues = new();
32
+
33
+
34
+ /// <inheritdoc/>
35
+ public override bool Contains(DialogueCore dialogue)
36
+ {
37
+ foreach(var fteDialogue in freeTimeDialogues)
38
+ if (fteDialogue != null && fteDialogue.IsNested(dialogue, new List<DialogueCore>()))
39
+ return true;
40
+
41
+ return freeTimeDialogues.Contains(dialogue as Dialogue);
42
+ }
43
+
44
+ /// <inheritdoc/>
45
+ public override Character GetCharacter() => character;
46
+
47
+ /// <inheritdoc/>
48
+ public override List<DialogueBase<T>> GetDialogues<T>() => freeTimeDialogues.Cast<DialogueBase<T>>().ToList();
49
+
50
+ #if UNITY_EDITOR
51
+ public virtual void SetCharacter(Character character) => this.character = character;
52
+
53
+ public virtual void SetDialogues(List<Dialogue> freeTimeDialogues) => this.freeTimeDialogues = freeTimeDialogues;
54
+ #endif
55
+ }
56
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 9f384bd0e5735fe419cd08be3070a2a4
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
package/FTEData.cs ADDED
@@ -0,0 +1,52 @@
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using UnityEngine;
3
+
4
+ namespace DREditor.FreeTime
5
+ {
6
+ /// <summary>
7
+ ///
8
+ /// </summary>
9
+ [System.Serializable]
10
+ [CreateAssetMenu(menuName = "DREditor/FTE/FTE Data", fileName = "FTEData")]
11
+ public class FTEData : ScriptableObject
12
+ {
13
+ /// <summary>
14
+ ///
15
+ /// </summary>
16
+ [Tooltip("")]
17
+ public string characterName;
18
+
19
+ /// <summary>
20
+ ///
21
+ /// </summary>
22
+ [Tooltip("")]
23
+ public int level;
24
+
25
+
26
+ public virtual void SetData(string name, int level = 0)
27
+ {
28
+ this.name = name;
29
+
30
+ characterName = name;
31
+
32
+ this.level = level;
33
+ }
34
+
35
+ /// <summary>
36
+ ///
37
+ /// </summary>
38
+ /// <param name="level"></param>
39
+ public virtual void AddLevel(int level = 1) => this.level += level;
40
+
41
+ /// <summary>
42
+ ///
43
+ /// </summary>
44
+ public virtual void Validate()
45
+ {
46
+ if (string.IsNullOrEmpty(name))
47
+ name = characterName;
48
+ else if (string.IsNullOrEmpty(characterName))
49
+ characterName = name;
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: ddd08d44e5147a7498fd316bc35a7248
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,181 @@
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.Characters;
3
+ using DREditor.Saving;
4
+ using DREditor.Utility;
5
+ using System.Collections.Generic;
6
+ using System.Linq;
7
+ using UnityEngine;
8
+ using UnityEngine.Serialization;
9
+
10
+ namespace DREditor.FreeTime
11
+ {
12
+ /// <summary>
13
+ ///
14
+ /// </summary>
15
+ [ClassHeader(nameof(IDRESaveable) + ", " + nameof(IDRELoadableManager) + ", " +
16
+ nameof(IFTEDataHandler) + ", " + nameof(ILoadOnChapterSelect) +
17
+ "\n\n")]
18
+ public class FTEDataHandler : MonoBehaviour, IDRESaveable, IDRELoadableManager, IFTEDataHandler, ILoadOnChapterSelect
19
+ {
20
+ /// <summary>
21
+ ///
22
+ /// </summary>
23
+ [Header("")]
24
+ [Divider]
25
+ [Tooltip("")]
26
+ [SerializeField] protected string fTEDataSaveKey = "fTEDatas";
27
+
28
+
29
+ /// <summary>
30
+ ///
31
+ /// </summary>
32
+ [Header("")]
33
+ [Divider]
34
+ [Tooltip("")]
35
+ [FormerlySerializedAs("database")]
36
+ [SerializeField] protected CharacterDatabase characterDatabase;
37
+
38
+
39
+ /// <summary>
40
+ ///
41
+ /// </summary>
42
+ [Header("")]
43
+ [Divider]
44
+ [Tooltip("")]
45
+ [SerializeField] protected List<FTEData> fTEDatas = new();
46
+
47
+
48
+ /// <summary>
49
+ ///
50
+ /// </summary>
51
+ protected virtual void Start() => InitializeFTEData();
52
+
53
+ /// <summary>
54
+ ///
55
+ /// </summary>
56
+ protected virtual void InitializeFTEData()
57
+ {
58
+ if (characterDatabase != null && fTEDatas.Count != characterDatabase.GetFTECharacterCount())
59
+ {
60
+ ClearData();
61
+
62
+ foreach (Character character in characterDatabase.GetFTECharacterList())
63
+ AddCharacter(character.FirstName);
64
+ }
65
+ }
66
+
67
+
68
+ /// <inheritdoc/>
69
+ public virtual void AddCharacter(string name)
70
+ {
71
+ var data = ScriptableObject.CreateInstance<FTEData>();
72
+
73
+ data.SetData(name);
74
+
75
+ fTEDatas.Add(data);
76
+ }
77
+
78
+ /// <inheritdoc/>
79
+ public virtual int GetLevelOfCharacter(string name)
80
+ {
81
+ foreach (FTEData data in fTEDatas)
82
+ if (data.name == name)
83
+ return data.level;
84
+
85
+ UnityEngine.Debug.LogWarning("WARNING: Could not find FTE Level for character: " + name);
86
+
87
+ return -1;
88
+ }
89
+
90
+
91
+ /// <inheritdoc/>
92
+ public virtual void LevelUpCharacter(string name)
93
+ {
94
+ var datas = fTEDatas.Where(character => character.name == name);
95
+
96
+ if (datas.Count() > 0)
97
+ fTEDatas[fTEDatas.IndexOf(datas.ElementAt(0))].AddLevel();
98
+ else
99
+ UnityEngine.Debug.LogWarning("WARNING: Could not find character: " + name + " to level up.");
100
+ }
101
+
102
+ /// <inheritdoc/>
103
+ public virtual int GetAffinity(string name)
104
+ {
105
+ int characterLevel = GetLevelOfCharacter(name);
106
+
107
+ if (characterLevel >= 0)
108
+ return characterLevel;
109
+
110
+ AddCharacter(name);
111
+
112
+ return GetAffinity(name);
113
+ }
114
+
115
+
116
+ /// <inheritdoc/>
117
+ public virtual void Save(Dictionary<string, object> saveData) => saveData.Set(fTEDataSaveKey, fTEDatas);
118
+
119
+
120
+ /// <inheritdoc/>
121
+ public virtual void LoadManager(Dictionary<string, object> saveDatas, bool inChapterSelect)
122
+ {
123
+ var loadedDatas = saveDatas.Get<List<FTEData>>(fTEDataSaveKey);
124
+
125
+ if (loadedDatas == null || fTEDatas == loadedDatas || loadedDatas.Count == 0)
126
+ return;
127
+ else if (!inChapterSelect)
128
+ LoadFTEDatas(loadedDatas);
129
+ else
130
+ ValidateData();
131
+ }
132
+
133
+ /// <summary>
134
+ ///
135
+ /// </summary>
136
+ /// <param name="loadedDatas"></param>
137
+ protected virtual void LoadFTEDatas(List<FTEData> loadedDatas)
138
+ {
139
+ ClearData();
140
+
141
+ CopyFTEData(loadedDatas);
142
+
143
+ ValidateData();
144
+
145
+ RemoveEmptyInstances();
146
+ }
147
+
148
+ /// <summary>
149
+ ///
150
+ /// </summary>
151
+ /// <param name="loadedDatas"></param>
152
+ protected virtual void CopyFTEData(List<FTEData> loadedDatas)
153
+ {
154
+ foreach (var data in loadedDatas)
155
+ fTEDatas.Add(data.DeepJsonCopy());
156
+ }
157
+
158
+ /// <summary>
159
+ ///
160
+ /// </summary>
161
+ protected virtual void ValidateData()
162
+ {
163
+ foreach (var fTEData in fTEDatas)
164
+ fTEData.Validate();
165
+ }
166
+
167
+ /// <summary>
168
+ ///
169
+ /// </summary>
170
+ protected virtual void RemoveEmptyInstances() => fTEDatas.RemoveAll(item => string.IsNullOrEmpty(item.name));
171
+
172
+
173
+ /// <inheritdoc/>
174
+ public virtual void ClearData() => fTEDatas.Clear();
175
+
176
+
177
+ /// <inheritdoc/>
178
+ public virtual void CarryOverOnChapterSelect(Dictionary<string, object> oldSaveDatas, Dictionary<string, object> newSaveDatas) =>
179
+ newSaveDatas.Set(fTEDataSaveKey, oldSaveDatas.Get<List<FTEData>>(fTEDataSaveKey));
180
+ }
181
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 889f5628fce755746837451a211f4b96
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
package/FTEDatabase.cs ADDED
@@ -0,0 +1,69 @@
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.Characters;
3
+ using DREditor.Dialogues;
4
+ using DREditor.Dialogues.Loading;
5
+ using DREditor.Services;
6
+ using System;
7
+ using System.Collections.Generic;
8
+ using UnityEngine;
9
+
10
+ namespace DREditor.FreeTime
11
+ {
12
+ /// <summary>
13
+ ///
14
+ /// </summary>
15
+ [Serializable]
16
+ [CreateAssetMenu(menuName = "DREditor/FTE/FTE Database", fileName = "FTE Database")]
17
+ public class FTEDatabase : ScriptableObject, IDialogueHolder
18
+ {
19
+ /// <summary>
20
+ ///
21
+ /// </summary>
22
+ [Header("")]
23
+ [Tooltip("")]
24
+ public List<FTEDialogues> freeTimeCharacterDialogues = new();
25
+
26
+
27
+ /// <inheritdoc/>
28
+ public virtual bool CheckIfSaveDialogue()
29
+ {
30
+ foreach (var fteDialogues in freeTimeCharacterDialogues)
31
+ if (ServiceLocator.GetService<IDialogueManager>()
32
+ .GetManagerComponent<DialogueLoadIdentifier>()
33
+ .CheckDialogues<Line>(fteDialogues.GetDialogues<Line>()))
34
+ return true;
35
+
36
+ return false;
37
+ }
38
+
39
+ /// <summary>
40
+ ///
41
+ /// </summary>
42
+ /// <param name="dialogue"></param>
43
+ /// <returns></returns>
44
+ public virtual Character GetCharacterFromDialogue(DialogueCore dialogue)
45
+ {
46
+ var found = freeTimeCharacterDialogues.Find(fteDialogues => fteDialogues.Contains(dialogue));
47
+
48
+ return found != null ? found.GetCharacter() : null;
49
+ }
50
+
51
+ /// <summary>
52
+ ///
53
+ /// </summary>
54
+ /// <param name="character"></param>
55
+ /// <param name="index"></param>
56
+ /// <returns></returns>
57
+ public virtual DialogueCore GetFTE(Character character, int index)
58
+ {
59
+ FTEDialogues fteDialogues = freeTimeCharacterDialogues.Find(dialogues => dialogues.GetCharacter() == character);
60
+
61
+ if (fteDialogues != null && index >= 0 && index < freeTimeCharacterDialogues.Count)
62
+ return fteDialogues.GetDialogues<Line>()[index];
63
+
64
+ UnityEngine.Debug.LogWarning("ALERT: GetFTE dialogue returned null!");
65
+
66
+ return null;
67
+ }
68
+ }
69
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 8b3a4eda810977c44aad7a15b86f1605
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,102 @@
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ #if UNITY_EDITOR
3
+ using DREditor.Characters;
4
+ using DREditor.Editor.Utility;
5
+ using System.Collections.Generic;
6
+ using UnityEditor;
7
+ using UnityEngine;
8
+
9
+ namespace DREditor.FreeTime
10
+ {
11
+ /// <summary>
12
+ ///
13
+ /// </summary>
14
+ [CustomEditor(typeof(FTEDatabase))]
15
+ public class FTEDatabaseEditor : UnityEditor.Editor
16
+ {
17
+ /// <summary>
18
+ ///
19
+ /// </summary>
20
+ protected FTEDatabase database;
21
+
22
+ /// <summary>
23
+ ///
24
+ /// </summary>
25
+ protected CharacterDatabase characterDatabase = null;
26
+
27
+ /// <summary>
28
+ ///
29
+ /// </summary>
30
+ protected SerializedProperty propName;
31
+
32
+
33
+ /// <summary>
34
+ ///
35
+ /// </summary>
36
+ protected virtual void OnEnable()
37
+ {
38
+ database = target as FTEDatabase;
39
+
40
+ propName = serializedObject.FindProperty("freeTimeCharacterDialogues");
41
+ }
42
+
43
+ /// <inheritdoc/>
44
+ public override void OnInspectorGUI()
45
+ {
46
+ serializedObject.Update();
47
+
48
+ CreateForm();
49
+
50
+ EditorUtility.SetDirty(database);
51
+
52
+ serializedObject.ApplyModifiedProperties();
53
+ }
54
+
55
+ /// <summary>
56
+ ///
57
+ /// </summary>
58
+ protected virtual void CreateForm()
59
+ {
60
+ if (!DatabaseUtility
61
+ .InitializeDatabase(characterDatabase, out characterDatabase))
62
+ return;
63
+
64
+ if (GUILayout.Button("Generate Base Structure", GUILayout.Width(200)))
65
+ if (EditorUtility.DisplayDialog("Generate",
66
+ "Are you sure you want to Generate the data? This will delete the current data.",
67
+ "Yes", "No"))
68
+ GenerateData();
69
+
70
+ GUILayout.Space(10);
71
+
72
+ using (new EditorGUILayout.VerticalScope("Box"))
73
+ HandyFields.HardPropertyField("List: ", propName, 500);
74
+ }
75
+
76
+ /// <summary>
77
+ ///
78
+ /// </summary>
79
+ protected virtual void GenerateData()
80
+ {
81
+ database.freeTimeCharacterDialogues.Clear();
82
+
83
+ List<Character> characters = characterDatabase.GetFTECharacterList();
84
+
85
+ foreach (Character character in characters)
86
+ {
87
+ FTECharacterDialogues fte = CustomEditorUtility
88
+ .CreateAssetWithFolders<FTECharacterDialogues>(character.FirstName + "FTEDialogues");
89
+
90
+ fte.SetCharacter(character);
91
+
92
+ fte.SetDialogues(new List<Dialogues.Dialogue>(new Dialogues.Dialogue[]
93
+ {null, null, null, null, null}));
94
+
95
+ AssetDatabase.SaveAssets();
96
+
97
+ database.freeTimeCharacterDialogues.Add(fte);
98
+ }
99
+ }
100
+ }
101
+ }
102
+ #endif
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 294a4a3a9348bc44b93696a9d82dbc2a
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,33 @@
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.Characters;
3
+ using DREditor.Dialogues;
4
+ using System;
5
+ using System.Collections.Generic;
6
+ using UnityEngine;
7
+
8
+ namespace DREditor.FreeTime
9
+ {
10
+ /// <summary>
11
+ ///
12
+ /// </summary>
13
+ [Serializable]
14
+ public abstract class FTEDialogues : ScriptableObject
15
+ {
16
+ /// <summary>
17
+ ///
18
+ /// </summary>
19
+ public abstract Character GetCharacter();
20
+
21
+ /// <summary>
22
+ ///
23
+ /// </summary>
24
+ /// <typeparam name="T"></typeparam>
25
+ public abstract List<DialogueBase<T>> GetDialogues<T>();
26
+
27
+ /// <summary>
28
+ ///
29
+ /// </summary>
30
+ /// <param name="dialogue"></param>
31
+ public abstract bool Contains(DialogueCore dialogue);
32
+ }
33
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 93e8819d845d5ae44b3ad312011bec25
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant: