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.
- package/.attestation.p7m +0 -0
- package/CharacterReaction.cs +45 -45
- package/CharacterReaction.cs.meta +11 -11
- package/DREditor.FreeTime.asmdef +25 -25
- package/DREditor.FreeTime.asmdef.meta +7 -7
- package/FTECharacterDialogues.cs +55 -55
- package/FTECharacterDialogues.cs.meta +11 -11
- package/FTEData.cs +51 -51
- package/FTEData.cs.meta +11 -11
- package/FTEDataHandler.cs +180 -180
- package/FTEDataHandler.cs.meta +11 -11
- package/FTEDatabase.cs +68 -68
- package/FTEDatabase.cs.meta +11 -11
- package/FTEDatabaseEditor.cs +101 -101
- package/FTEDatabaseEditor.cs.meta +11 -11
- package/FTEDialogues.cs +32 -32
- package/FTEDialogues.cs.meta +11 -11
- package/FTEManager.cs +322 -322
- package/FTEManager.cs.meta +11 -11
- package/IFTEDataHandler.cs +37 -37
- package/IFTEDataHandler.cs.meta +11 -11
- package/MoveToNextDayEvent.cs +213 -213
- package/MoveToNextDayEvent.cs.meta +11 -11
- package/PresentReaction.cs +36 -36
- package/PresentReaction.cs.meta +11 -11
- package/ReactionDatabase.cs +111 -111
- package/ReactionDatabase.cs.meta +11 -11
- package/ReactionUtility.cs +43 -43
- package/ReactionUtility.cs.meta +11 -11
- package/{Samples → Samples~}/FTE_Data_Handler.prefab +49 -49
- package/{Samples → Samples~}/FTE_Data_Handler.prefab.meta +7 -7
- package/{Samples → Samples~}/FTE_Manager_ETemplate.prefab +218 -218
- package/{Samples → Samples~}/FTE_Manager_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Move_To_Next_Day_Event.prefab +83 -83
- package/{Samples → Samples~}/Move_To_Next_Day_Event.prefab.meta +7 -7
- package/{Samples → Samples~}/Start_FTE_Handler_ETemplate.prefab +336 -336
- package/{Samples → Samples~}/Start_FTE_Handler_ETemplate.prefab.meta +7 -7
- package/SimpleFTEEntryCollection.cs +28 -28
- package/SimpleFTEEntryCollection.cs.meta +1 -1
- package/StartFTEAnimation.cs +76 -76
- package/StartFTEAnimation.cs.meta +11 -11
- package/package.json +47 -42
- package/package.json.meta +7 -7
- 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
|
}
|
package/FTEDataHandler.cs.meta
CHANGED
|
@@ -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
|
}
|
package/FTEDatabase.cs.meta
CHANGED
|
@@ -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:
|