net.dreditor.progressing.handling 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/ChapterTitleDisplayer.cs +41 -41
- package/ChapterTitleDisplayer.cs.meta +11 -11
- package/DREditor.Progressing.Handling.asmdef +16 -16
- package/DREditor.Progressing.Handling.asmdef.meta +7 -7
- package/FlagTriggerExtensions.cs +78 -78
- package/FlagTriggerExtensions.cs.meta +11 -11
- package/FlagTriggerHandler.cs +236 -236
- package/FlagTriggerHandler.cs.meta +11 -11
- package/FlagTriggerHandlerBase.cs +65 -65
- package/FlagTriggerHandlerBase.cs.meta +11 -11
- package/HistoricalManagerBase.cs +158 -158
- package/HistoricalManagerBase.cs.meta +1 -1
- package/IHistory.cs +100 -100
- package/IHistory.cs.meta +1 -1
- package/ProgressionData.cs +180 -180
- package/ProgressionData.cs.meta +11 -11
- package/ProgressionDebugger.cs +185 -185
- package/ProgressionDebugger.cs.meta +11 -11
- package/ProgressionFlagHandler.cs +166 -166
- package/ProgressionFlagHandler.cs.meta +11 -11
- package/ProgressionHistoryManager.cs +33 -33
- package/ProgressionHistoryManager.cs.meta +11 -11
- package/ProgressionInfo.cs +53 -53
- package/ProgressionInfo.cs.meta +11 -11
- package/ProgressionLoader.cs +128 -128
- package/ProgressionLoader.cs.meta +11 -11
- package/ProgressionManager.cs +285 -285
- package/ProgressionManager.cs.meta +11 -11
- package/ProgressionManagerBase.cs +131 -131
- package/ProgressionManagerBase.cs.meta +11 -11
- package/ProgressionSaver.cs +48 -48
- package/ProgressionSaver.cs.meta +11 -11
- package/{Samples → Samples~}/CurrentChapterIndex.asset +21 -21
- package/{Samples → Samples~}/CurrentChapterIndex.asset.meta +8 -8
- package/{Samples → Samples~}/CurrentObjectiveIndex.asset +19 -19
- package/{Samples → Samples~}/CurrentObjectiveIndex.asset.meta +8 -8
- package/{Samples → Samples~}/CurrentObjectiveName.asset +19 -19
- package/{Samples → Samples~}/CurrentObjectiveName.asset.meta +8 -8
- package/{Samples → Samples~}/FlagTriggered.asset +19 -19
- package/{Samples → Samples~}/FlagTriggered.asset.meta +8 -8
- package/{Samples → Samples~}/Flag_Trigger_Handler.prefab +194 -194
- package/{Samples → Samples~}/Flag_Trigger_Handler.prefab.meta +7 -7
- package/{Samples → Samples~}/LoadProgressionData.asset +14 -14
- package/{Samples → Samples~}/LoadProgressionData.asset.meta +8 -8
- package/{Samples → Samples~}/MoveToNextNaturalObjective.asset +14 -14
- package/{Samples → Samples~}/MoveToNextNaturalObjective.asset.meta +8 -8
- package/{Samples → Samples~}/MoveToObjective.asset +19 -19
- package/{Samples → Samples~}/MoveToObjective.asset.meta +8 -8
- package/{Samples → Samples~}/ObjectiveKeepsInstanceData.asset +19 -19
- package/{Samples → Samples~}/ObjectiveKeepsInstanceData.asset.meta +8 -8
- package/{Samples → Samples~}/OnGeneratePastData.asset +14 -14
- package/{Samples → Samples~}/OnGeneratePastData.asset.meta +8 -8
- package/{Samples → Samples~}/OnLastObjective.asset +19 -19
- package/{Samples → Samples~}/OnLastObjective.asset.meta +8 -8
- package/{Samples → Samples~}/Progression_Debugger.prefab +73 -73
- package/{Samples → Samples~}/Progression_Debugger.prefab.meta +7 -7
- package/{Samples → Samples~}/Progression_Flag_Handler.prefab +47 -47
- package/{Samples → Samples~}/Progression_Flag_Handler.prefab.meta +7 -7
- package/{Samples → Samples~}/Progression_History_Manager.prefab +107 -107
- package/{Samples → Samples~}/Progression_History_Manager.prefab.meta +7 -7
- package/{Samples → Samples~}/Progression_Loader.prefab +76 -76
- package/{Samples → Samples~}/Progression_Loader.prefab.meta +7 -7
- package/{Samples → Samples~}/Progression_Manager_ETemplate.prefab +603 -603
- package/{Samples → Samples~}/Progression_Manager_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Progression_Saver.prefab +51 -51
- package/{Samples → Samples~}/Progression_Saver.prefab.meta +7 -7
- package/{Samples → Samples~}/RequiredFlagsTriggered.asset +19 -19
- package/{Samples → Samples~}/RequiredFlagsTriggered.asset.meta +8 -8
- package/{Samples → Samples~}/TriggerAllRequiredFlags.asset +14 -14
- package/{Samples → Samples~}/TriggerAllRequiredFlags.asset.meta +8 -8
- package/package.json +40 -35
- package/package.json.meta +7 -7
- package/Samples.meta +0 -8
package/ProgressionDebugger.cs
CHANGED
|
@@ -1,186 +1,186 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
using DREditor.EventObjects;
|
|
3
|
-
using DREditor.Services;
|
|
4
|
-
using System.Collections.Generic;
|
|
5
|
-
using UnityEngine;
|
|
6
|
-
using UnityEngine.Scripting.APIUpdating;
|
|
7
|
-
using UnityEngine.Serialization;
|
|
8
|
-
|
|
9
|
-
namespace DREditor.Progressing.Handling
|
|
10
|
-
{
|
|
11
|
-
/// <summary>
|
|
12
|
-
///
|
|
13
|
-
/// </summary>
|
|
14
|
-
[DefaultExecutionOrder(1)]
|
|
15
|
-
[ClassHeader("")]
|
|
16
|
-
[MovedFrom(true, "DREditor.Progression.Handling", "DREditor.Progression.Handling")]
|
|
17
|
-
public class ProgressionDebugger : MonoBehaviour
|
|
18
|
-
{
|
|
19
|
-
/// <summary>
|
|
20
|
-
///
|
|
21
|
-
/// </summary>
|
|
22
|
-
[Tooltip("")]
|
|
23
|
-
[FormerlySerializedAs("database")]
|
|
24
|
-
[SerializeField] protected ProgressionDatabase progressionDatabase = null;
|
|
25
|
-
|
|
26
|
-
/// <summary>
|
|
27
|
-
///
|
|
28
|
-
/// </summary>
|
|
29
|
-
[Tooltip("")]
|
|
30
|
-
[SerializeField] protected IntWithEvent currentChapterIndex = null;
|
|
31
|
-
|
|
32
|
-
/// <summary>
|
|
33
|
-
///
|
|
34
|
-
/// </summary>
|
|
35
|
-
[Tooltip("")]
|
|
36
|
-
[SerializeField] protected SceneEventListener onGeneratePastData = null;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
/// <summary>
|
|
40
|
-
///
|
|
41
|
-
/// </summary>
|
|
42
|
-
[Header("")]
|
|
43
|
-
[Divider]
|
|
44
|
-
[Tooltip("")]
|
|
45
|
-
[SerializeField] protected bool testLatestObjective = false;
|
|
46
|
-
|
|
47
|
-
/// <summary>
|
|
48
|
-
///
|
|
49
|
-
/// </summary>
|
|
50
|
-
[Tooltip("")]
|
|
51
|
-
[SerializeField] protected int startObjective = 0;
|
|
52
|
-
|
|
53
|
-
/// <summary>
|
|
54
|
-
///
|
|
55
|
-
/// </summary>
|
|
56
|
-
[Tooltip("")]
|
|
57
|
-
[SerializeField] protected int clearedFlags = 0;
|
|
58
|
-
|
|
59
|
-
/// <summary>
|
|
60
|
-
///
|
|
61
|
-
/// </summary>
|
|
62
|
-
[Tooltip("")]
|
|
63
|
-
[SerializeField] protected bool generatePastData = false;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
/// <summary>
|
|
67
|
-
///
|
|
68
|
-
/// </summary>
|
|
69
|
-
protected ProgressionManagerBase manager = null;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
/// <summary>
|
|
73
|
-
///
|
|
74
|
-
/// </summary>
|
|
75
|
-
protected virtual void OnEnable() => onGeneratePastData.Response.AddListener(GeneratePast);
|
|
76
|
-
|
|
77
|
-
/// <summary>
|
|
78
|
-
///
|
|
79
|
-
/// </summary>
|
|
80
|
-
protected virtual void OnDisable() => onGeneratePastData.Response.RemoveListener(GeneratePast);
|
|
81
|
-
|
|
82
|
-
/// <summary>
|
|
83
|
-
///
|
|
84
|
-
/// </summary>
|
|
85
|
-
protected virtual void Start() => Initialize();
|
|
86
|
-
|
|
87
|
-
/// <summary>
|
|
88
|
-
///
|
|
89
|
-
/// </summary>
|
|
90
|
-
protected virtual void Initialize()
|
|
91
|
-
{
|
|
92
|
-
manager = ServiceLocator.GetService<ProgressionManagerBase>();
|
|
93
|
-
|
|
94
|
-
InitializeStartObjective();
|
|
95
|
-
|
|
96
|
-
TriggerFlagsInCurrentObjective();
|
|
97
|
-
|
|
98
|
-
InitializePastData();
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
/// <summary>
|
|
102
|
-
///
|
|
103
|
-
/// </summary>
|
|
104
|
-
protected virtual void InitializeStartObjective()
|
|
105
|
-
{
|
|
106
|
-
if (manager == null)
|
|
107
|
-
manager = ServiceLocator.GetService<ProgressionManagerBase>();
|
|
108
|
-
|
|
109
|
-
if (manager.GetCurrentChapter() == null)
|
|
110
|
-
return;
|
|
111
|
-
|
|
112
|
-
startObjective = testLatestObjective ? manager.GetCurrentChapter().Objectives.Count - 1 : startObjective;
|
|
113
|
-
|
|
114
|
-
if (manager.GetCurrentChapter().Objectives.Count > 0)
|
|
115
|
-
manager.SetCurrentObjective((Objective)manager.GetCurrentChapter().Objectives[startObjective].Clone());
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/// <summary>
|
|
119
|
-
///
|
|
120
|
-
/// </summary>
|
|
121
|
-
protected virtual void TriggerFlagsInCurrentObjective()
|
|
122
|
-
{
|
|
123
|
-
if (manager.currentObjective != null && clearedFlags > 0 && clearedFlags <= manager.currentObjective.Flags.Count)
|
|
124
|
-
for (int i = 0; i < clearedFlags; i++)
|
|
125
|
-
manager.currentObjective.Flags[i].SetTriggered(true);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
/// <summary>
|
|
129
|
-
///
|
|
130
|
-
/// </summary>
|
|
131
|
-
protected virtual void InitializePastData()
|
|
132
|
-
{
|
|
133
|
-
if (generatePastData)
|
|
134
|
-
GeneratePast();
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
/// <summary>
|
|
138
|
-
///
|
|
139
|
-
/// </summary>
|
|
140
|
-
protected virtual void GeneratePast()
|
|
141
|
-
{
|
|
142
|
-
for (int chapterIndex = 0; chapterIndex <= currentChapterIndex.Value; chapterIndex++)
|
|
143
|
-
GenerateChapterObjectives(chapterIndex);
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
/// <summary>
|
|
147
|
-
///
|
|
148
|
-
/// </summary>
|
|
149
|
-
/// <param name="chapterIndex"></param>
|
|
150
|
-
protected void GenerateChapterObjectives(int chapterIndex)
|
|
151
|
-
{
|
|
152
|
-
foreach (Objective objective in progressionDatabase.Chapters[chapterIndex].Objectives)
|
|
153
|
-
{
|
|
154
|
-
if (objective.Description == manager.currentObjective.Description)
|
|
155
|
-
break;
|
|
156
|
-
|
|
157
|
-
GenerateCompletedObjectiveToHistory(chapterIndex, objective);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
/// <summary>
|
|
162
|
-
///
|
|
163
|
-
/// </summary>
|
|
164
|
-
/// <param name="chapterIndex"></param>
|
|
165
|
-
/// <param name="objective"></param>
|
|
166
|
-
protected void GenerateCompletedObjectiveToHistory(int chapterIndex, Objective objective)
|
|
167
|
-
{
|
|
168
|
-
Objective clonedObjective = (Objective)objective.Clone();
|
|
169
|
-
|
|
170
|
-
TriggerAllRequiredFlags(clonedObjective.Flags);
|
|
171
|
-
|
|
172
|
-
ServiceLocator.GetService<IHistory>().Add(chapterIndex, clonedObjective);
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
/// <summary>
|
|
176
|
-
///
|
|
177
|
-
/// </summary>
|
|
178
|
-
/// <param name="flags"></param>
|
|
179
|
-
protected void TriggerAllRequiredFlags(List<ProgressionFlag> flags)
|
|
180
|
-
{
|
|
181
|
-
foreach (ProgressionFlag flag in flags)
|
|
182
|
-
if (!flag.optional)
|
|
183
|
-
flag.SetTriggered(true);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using DREditor.EventObjects;
|
|
3
|
+
using DREditor.Services;
|
|
4
|
+
using System.Collections.Generic;
|
|
5
|
+
using UnityEngine;
|
|
6
|
+
using UnityEngine.Scripting.APIUpdating;
|
|
7
|
+
using UnityEngine.Serialization;
|
|
8
|
+
|
|
9
|
+
namespace DREditor.Progressing.Handling
|
|
10
|
+
{
|
|
11
|
+
/// <summary>
|
|
12
|
+
///
|
|
13
|
+
/// </summary>
|
|
14
|
+
[DefaultExecutionOrder(1)]
|
|
15
|
+
[ClassHeader("")]
|
|
16
|
+
[MovedFrom(true, "DREditor.Progression.Handling", "DREditor.Progression.Handling")]
|
|
17
|
+
public class ProgressionDebugger : MonoBehaviour
|
|
18
|
+
{
|
|
19
|
+
/// <summary>
|
|
20
|
+
///
|
|
21
|
+
/// </summary>
|
|
22
|
+
[Tooltip("")]
|
|
23
|
+
[FormerlySerializedAs("database")]
|
|
24
|
+
[SerializeField] protected ProgressionDatabase progressionDatabase = null;
|
|
25
|
+
|
|
26
|
+
/// <summary>
|
|
27
|
+
///
|
|
28
|
+
/// </summary>
|
|
29
|
+
[Tooltip("")]
|
|
30
|
+
[SerializeField] protected IntWithEvent currentChapterIndex = null;
|
|
31
|
+
|
|
32
|
+
/// <summary>
|
|
33
|
+
///
|
|
34
|
+
/// </summary>
|
|
35
|
+
[Tooltip("")]
|
|
36
|
+
[SerializeField] protected SceneEventListener onGeneratePastData = null;
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
/// <summary>
|
|
40
|
+
///
|
|
41
|
+
/// </summary>
|
|
42
|
+
[Header("")]
|
|
43
|
+
[Divider]
|
|
44
|
+
[Tooltip("")]
|
|
45
|
+
[SerializeField] protected bool testLatestObjective = false;
|
|
46
|
+
|
|
47
|
+
/// <summary>
|
|
48
|
+
///
|
|
49
|
+
/// </summary>
|
|
50
|
+
[Tooltip("")]
|
|
51
|
+
[SerializeField] protected int startObjective = 0;
|
|
52
|
+
|
|
53
|
+
/// <summary>
|
|
54
|
+
///
|
|
55
|
+
/// </summary>
|
|
56
|
+
[Tooltip("")]
|
|
57
|
+
[SerializeField] protected int clearedFlags = 0;
|
|
58
|
+
|
|
59
|
+
/// <summary>
|
|
60
|
+
///
|
|
61
|
+
/// </summary>
|
|
62
|
+
[Tooltip("")]
|
|
63
|
+
[SerializeField] protected bool generatePastData = false;
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
/// <summary>
|
|
67
|
+
///
|
|
68
|
+
/// </summary>
|
|
69
|
+
protected ProgressionManagerBase manager = null;
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
/// <summary>
|
|
73
|
+
///
|
|
74
|
+
/// </summary>
|
|
75
|
+
protected virtual void OnEnable() => onGeneratePastData.Response.AddListener(GeneratePast);
|
|
76
|
+
|
|
77
|
+
/// <summary>
|
|
78
|
+
///
|
|
79
|
+
/// </summary>
|
|
80
|
+
protected virtual void OnDisable() => onGeneratePastData.Response.RemoveListener(GeneratePast);
|
|
81
|
+
|
|
82
|
+
/// <summary>
|
|
83
|
+
///
|
|
84
|
+
/// </summary>
|
|
85
|
+
protected virtual void Start() => Initialize();
|
|
86
|
+
|
|
87
|
+
/// <summary>
|
|
88
|
+
///
|
|
89
|
+
/// </summary>
|
|
90
|
+
protected virtual void Initialize()
|
|
91
|
+
{
|
|
92
|
+
manager = ServiceLocator.GetService<ProgressionManagerBase>();
|
|
93
|
+
|
|
94
|
+
InitializeStartObjective();
|
|
95
|
+
|
|
96
|
+
TriggerFlagsInCurrentObjective();
|
|
97
|
+
|
|
98
|
+
InitializePastData();
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/// <summary>
|
|
102
|
+
///
|
|
103
|
+
/// </summary>
|
|
104
|
+
protected virtual void InitializeStartObjective()
|
|
105
|
+
{
|
|
106
|
+
if (manager == null)
|
|
107
|
+
manager = ServiceLocator.GetService<ProgressionManagerBase>();
|
|
108
|
+
|
|
109
|
+
if (manager.GetCurrentChapter() == null)
|
|
110
|
+
return;
|
|
111
|
+
|
|
112
|
+
startObjective = testLatestObjective ? manager.GetCurrentChapter().Objectives.Count - 1 : startObjective;
|
|
113
|
+
|
|
114
|
+
if (manager.GetCurrentChapter().Objectives.Count > 0)
|
|
115
|
+
manager.SetCurrentObjective((Objective)manager.GetCurrentChapter().Objectives[startObjective].Clone());
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/// <summary>
|
|
119
|
+
///
|
|
120
|
+
/// </summary>
|
|
121
|
+
protected virtual void TriggerFlagsInCurrentObjective()
|
|
122
|
+
{
|
|
123
|
+
if (manager.currentObjective != null && clearedFlags > 0 && clearedFlags <= manager.currentObjective.Flags.Count)
|
|
124
|
+
for (int i = 0; i < clearedFlags; i++)
|
|
125
|
+
manager.currentObjective.Flags[i].SetTriggered(true);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/// <summary>
|
|
129
|
+
///
|
|
130
|
+
/// </summary>
|
|
131
|
+
protected virtual void InitializePastData()
|
|
132
|
+
{
|
|
133
|
+
if (generatePastData)
|
|
134
|
+
GeneratePast();
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/// <summary>
|
|
138
|
+
///
|
|
139
|
+
/// </summary>
|
|
140
|
+
protected virtual void GeneratePast()
|
|
141
|
+
{
|
|
142
|
+
for (int chapterIndex = 0; chapterIndex <= currentChapterIndex.Value; chapterIndex++)
|
|
143
|
+
GenerateChapterObjectives(chapterIndex);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/// <summary>
|
|
147
|
+
///
|
|
148
|
+
/// </summary>
|
|
149
|
+
/// <param name="chapterIndex"></param>
|
|
150
|
+
protected void GenerateChapterObjectives(int chapterIndex)
|
|
151
|
+
{
|
|
152
|
+
foreach (Objective objective in progressionDatabase.Chapters[chapterIndex].Objectives)
|
|
153
|
+
{
|
|
154
|
+
if (objective.Description == manager.currentObjective.Description)
|
|
155
|
+
break;
|
|
156
|
+
|
|
157
|
+
GenerateCompletedObjectiveToHistory(chapterIndex, objective);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/// <summary>
|
|
162
|
+
///
|
|
163
|
+
/// </summary>
|
|
164
|
+
/// <param name="chapterIndex"></param>
|
|
165
|
+
/// <param name="objective"></param>
|
|
166
|
+
protected void GenerateCompletedObjectiveToHistory(int chapterIndex, Objective objective)
|
|
167
|
+
{
|
|
168
|
+
Objective clonedObjective = (Objective)objective.Clone();
|
|
169
|
+
|
|
170
|
+
TriggerAllRequiredFlags(clonedObjective.Flags);
|
|
171
|
+
|
|
172
|
+
ServiceLocator.GetService<IHistory>().Add(chapterIndex, clonedObjective);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/// <summary>
|
|
176
|
+
///
|
|
177
|
+
/// </summary>
|
|
178
|
+
/// <param name="flags"></param>
|
|
179
|
+
protected void TriggerAllRequiredFlags(List<ProgressionFlag> flags)
|
|
180
|
+
{
|
|
181
|
+
foreach (ProgressionFlag flag in flags)
|
|
182
|
+
if (!flag.optional)
|
|
183
|
+
flag.SetTriggered(true);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
186
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: c337a3868dfd40c43991fab602cd85e2
|
|
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: c337a3868dfd40c43991fab602cd85e2
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|