net.dreditor.freetime 0.1.6 → 0.1.8

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 +45 -45
  3. package/CharacterReaction.cs.meta +11 -11
  4. package/DREditor.FreeTime.asmdef +25 -25
  5. package/DREditor.FreeTime.asmdef.meta +7 -7
  6. package/FTECharacterDialogues.cs +55 -55
  7. package/FTECharacterDialogues.cs.meta +11 -11
  8. package/FTEData.cs +51 -51
  9. package/FTEData.cs.meta +11 -11
  10. package/FTEDataHandler.cs +180 -180
  11. package/FTEDataHandler.cs.meta +11 -11
  12. package/FTEDatabase.cs +68 -68
  13. package/FTEDatabase.cs.meta +11 -11
  14. package/FTEDatabaseEditor.cs +101 -101
  15. package/FTEDatabaseEditor.cs.meta +11 -11
  16. package/FTEDialogues.cs +32 -32
  17. package/FTEDialogues.cs.meta +11 -11
  18. package/FTEManager.cs +322 -322
  19. package/FTEManager.cs.meta +11 -11
  20. package/IFTEDataHandler.cs +37 -37
  21. package/IFTEDataHandler.cs.meta +11 -11
  22. package/MoveToNextDayEvent.cs +213 -213
  23. package/MoveToNextDayEvent.cs.meta +11 -11
  24. package/PresentReaction.cs +36 -36
  25. package/PresentReaction.cs.meta +11 -11
  26. package/ReactionDatabase.cs +111 -111
  27. package/ReactionDatabase.cs.meta +11 -11
  28. package/ReactionUtility.cs +43 -43
  29. package/ReactionUtility.cs.meta +11 -11
  30. package/{Samples → Samples~}/FTE_Data_Handler.prefab +49 -49
  31. package/{Samples → Samples~}/FTE_Data_Handler.prefab.meta +7 -7
  32. package/{Samples → Samples~}/FTE_Manager_ETemplate.prefab +218 -218
  33. package/{Samples → Samples~}/FTE_Manager_ETemplate.prefab.meta +7 -7
  34. package/{Samples → Samples~}/Move_To_Next_Day_Event.prefab +83 -83
  35. package/{Samples → Samples~}/Move_To_Next_Day_Event.prefab.meta +7 -7
  36. package/{Samples → Samples~}/Start_FTE_Handler_ETemplate.prefab +336 -336
  37. package/{Samples → Samples~}/Start_FTE_Handler_ETemplate.prefab.meta +7 -7
  38. package/SimpleFTEEntryCollection.cs +28 -28
  39. package/SimpleFTEEntryCollection.cs.meta +1 -1
  40. package/StartFTEAnimation.cs +76 -76
  41. package/StartFTEAnimation.cs.meta +11 -11
  42. package/package.json +47 -42
  43. package/package.json.meta +7 -7
  44. package/Samples.meta +0 -8
package/FTEDataHandler.cs CHANGED
@@ -1,181 +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
- }
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
181
  }
@@ -1,11 +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:
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 CHANGED
@@ -1,69 +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
- }
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
69
  }
@@ -1,11 +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:
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: