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/ProgressionLoader.cs
CHANGED
|
@@ -1,129 +1,129 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
using DREditor.EventObjects;
|
|
3
|
-
using DREditor.Saving;
|
|
4
|
-
using DREditor.Services;
|
|
5
|
-
using System.Collections.Generic;
|
|
6
|
-
using UnityEngine;
|
|
7
|
-
using UnityEngine.Scripting.APIUpdating;
|
|
8
|
-
using UnityEngine.Serialization;
|
|
9
|
-
|
|
10
|
-
namespace DREditor.Progressing.Handling
|
|
11
|
-
{
|
|
12
|
-
/// <summary>
|
|
13
|
-
///
|
|
14
|
-
/// </summary>
|
|
15
|
-
[ClassHeader(nameof(SceneEventListener) + ", " + nameof(IDRELoadable) +
|
|
16
|
-
"\n\n")]
|
|
17
|
-
[MovedFrom(true, "DREditor.Progression.Handling", "DREditor.Progression.Handling")]
|
|
18
|
-
public class ProgressionLoader : SceneEventListener, IDRELoadable
|
|
19
|
-
{
|
|
20
|
-
/// <summary>
|
|
21
|
-
///
|
|
22
|
-
/// </summary>
|
|
23
|
-
[Tooltip("")]
|
|
24
|
-
[FormerlySerializedAs("database")]
|
|
25
|
-
[SerializeField] protected ProgressionDatabase progressionDatabase = null;
|
|
26
|
-
|
|
27
|
-
/// <summary>
|
|
28
|
-
///
|
|
29
|
-
/// </summary>
|
|
30
|
-
[Tooltip("")]
|
|
31
|
-
[SerializeField] protected IntWithEvent currentChapterIndex = null;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
/// <summary>
|
|
35
|
-
///
|
|
36
|
-
/// </summary>
|
|
37
|
-
[Header("")]
|
|
38
|
-
[Divider]
|
|
39
|
-
[Tooltip("")]
|
|
40
|
-
[SerializeField] protected string chapterKey = "chapter";
|
|
41
|
-
|
|
42
|
-
/// <summary>
|
|
43
|
-
///
|
|
44
|
-
/// </summary>
|
|
45
|
-
[Tooltip("")]
|
|
46
|
-
[SerializeField] protected string objectiveKey = "CurrentObjective";
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
/// <summary>
|
|
50
|
-
///
|
|
51
|
-
/// </summary>
|
|
52
|
-
protected Dictionary<string, object> saveDatas;
|
|
53
|
-
|
|
54
|
-
/// <summary>
|
|
55
|
-
///
|
|
56
|
-
/// </summary>
|
|
57
|
-
protected ProgressionManagerBase manager = null;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
protected virtual void Start() => manager = ServiceLocator.GetService<ProgressionManagerBase>();
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
/// <inheritdoc/>
|
|
65
|
-
public virtual void Load(Dictionary<string, object> saveDatas) => this.saveDatas = saveDatas;
|
|
66
|
-
|
|
67
|
-
/// <inheritdoc/>
|
|
68
|
-
protected override void OnResponseInvoked()
|
|
69
|
-
{
|
|
70
|
-
base.OnResponseInvoked();
|
|
71
|
-
|
|
72
|
-
LoadOnSceneEvent();
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/// <summary>
|
|
76
|
-
///
|
|
77
|
-
/// </summary>
|
|
78
|
-
protected virtual void LoadOnSceneEvent()
|
|
79
|
-
{
|
|
80
|
-
currentChapterIndex.SetValue(saveDatas.Get<int>(chapterKey));
|
|
81
|
-
|
|
82
|
-
manager.SetCurrentChapter(progressionDatabase.Chapters[currentChapterIndex.Value]);
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
Objective saveObjective = saveDatas.Get<Objective>(objectiveKey);
|
|
86
|
-
|
|
87
|
-
manager.SetCurrentObjective(saveObjective);
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
LoadBaseObjective(saveObjective);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/// <summary>
|
|
94
|
-
///
|
|
95
|
-
/// </summary>
|
|
96
|
-
/// <param name="saveObjective"></param>
|
|
97
|
-
protected void LoadBaseObjective(Objective saveObjective)
|
|
98
|
-
{
|
|
99
|
-
Objective baseObjective = progressionDatabase.GetObjective(manager.currentObjective.Description);
|
|
100
|
-
|
|
101
|
-
if (baseObjective == null)
|
|
102
|
-
{
|
|
103
|
-
UnityEngine.Debug.LogWarning($"REPORT: {ToString()}: " +
|
|
104
|
-
$"Attempting to Repair the Objective since it's not found in any chapter.");
|
|
105
|
-
|
|
106
|
-
int finishedObjectives = ServiceLocator.GetService<IHistory>().GetAmountOfFinishedObjectives();
|
|
107
|
-
|
|
108
|
-
baseObjective = progressionDatabase
|
|
109
|
-
.GetObjective(progressionDatabase.Chapters[currentChapterIndex.Value].Objectives[finishedObjectives].Description);
|
|
110
|
-
|
|
111
|
-
manager.ResetCurrentObjective(baseObjective, saveObjective);
|
|
112
|
-
}
|
|
113
|
-
else if (saveObjective.KeepInstanceData != baseObjective.KeepInstanceData || FlagCountUpdated(baseObjective, saveObjective))
|
|
114
|
-
manager.ResetCurrentObjective(baseObjective, saveObjective);
|
|
115
|
-
|
|
116
|
-
if (baseObjective != null && baseObjective.ProgressionGate != null)
|
|
117
|
-
manager.currentObjective.SetProgressionGate(baseObjective.ProgressionGate);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
/// <summary>
|
|
121
|
-
///
|
|
122
|
-
/// </summary>
|
|
123
|
-
/// <param name="baseObjective"></param>
|
|
124
|
-
/// <param name="saveObjective"></param>
|
|
125
|
-
/// <returns></returns>
|
|
126
|
-
protected virtual bool FlagCountUpdated(Objective baseObjective, Objective saveObjective) =>
|
|
127
|
-
baseObjective.Description == saveObjective.Description && baseObjective.Flags.Count != saveObjective.Flags.Count;
|
|
128
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using DREditor.EventObjects;
|
|
3
|
+
using DREditor.Saving;
|
|
4
|
+
using DREditor.Services;
|
|
5
|
+
using System.Collections.Generic;
|
|
6
|
+
using UnityEngine;
|
|
7
|
+
using UnityEngine.Scripting.APIUpdating;
|
|
8
|
+
using UnityEngine.Serialization;
|
|
9
|
+
|
|
10
|
+
namespace DREditor.Progressing.Handling
|
|
11
|
+
{
|
|
12
|
+
/// <summary>
|
|
13
|
+
///
|
|
14
|
+
/// </summary>
|
|
15
|
+
[ClassHeader(nameof(SceneEventListener) + ", " + nameof(IDRELoadable) +
|
|
16
|
+
"\n\n")]
|
|
17
|
+
[MovedFrom(true, "DREditor.Progression.Handling", "DREditor.Progression.Handling")]
|
|
18
|
+
public class ProgressionLoader : SceneEventListener, IDRELoadable
|
|
19
|
+
{
|
|
20
|
+
/// <summary>
|
|
21
|
+
///
|
|
22
|
+
/// </summary>
|
|
23
|
+
[Tooltip("")]
|
|
24
|
+
[FormerlySerializedAs("database")]
|
|
25
|
+
[SerializeField] protected ProgressionDatabase progressionDatabase = null;
|
|
26
|
+
|
|
27
|
+
/// <summary>
|
|
28
|
+
///
|
|
29
|
+
/// </summary>
|
|
30
|
+
[Tooltip("")]
|
|
31
|
+
[SerializeField] protected IntWithEvent currentChapterIndex = null;
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
/// <summary>
|
|
35
|
+
///
|
|
36
|
+
/// </summary>
|
|
37
|
+
[Header("")]
|
|
38
|
+
[Divider]
|
|
39
|
+
[Tooltip("")]
|
|
40
|
+
[SerializeField] protected string chapterKey = "chapter";
|
|
41
|
+
|
|
42
|
+
/// <summary>
|
|
43
|
+
///
|
|
44
|
+
/// </summary>
|
|
45
|
+
[Tooltip("")]
|
|
46
|
+
[SerializeField] protected string objectiveKey = "CurrentObjective";
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
/// <summary>
|
|
50
|
+
///
|
|
51
|
+
/// </summary>
|
|
52
|
+
protected Dictionary<string, object> saveDatas;
|
|
53
|
+
|
|
54
|
+
/// <summary>
|
|
55
|
+
///
|
|
56
|
+
/// </summary>
|
|
57
|
+
protected ProgressionManagerBase manager = null;
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
protected virtual void Start() => manager = ServiceLocator.GetService<ProgressionManagerBase>();
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
/// <inheritdoc/>
|
|
65
|
+
public virtual void Load(Dictionary<string, object> saveDatas) => this.saveDatas = saveDatas;
|
|
66
|
+
|
|
67
|
+
/// <inheritdoc/>
|
|
68
|
+
protected override void OnResponseInvoked()
|
|
69
|
+
{
|
|
70
|
+
base.OnResponseInvoked();
|
|
71
|
+
|
|
72
|
+
LoadOnSceneEvent();
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/// <summary>
|
|
76
|
+
///
|
|
77
|
+
/// </summary>
|
|
78
|
+
protected virtual void LoadOnSceneEvent()
|
|
79
|
+
{
|
|
80
|
+
currentChapterIndex.SetValue(saveDatas.Get<int>(chapterKey));
|
|
81
|
+
|
|
82
|
+
manager.SetCurrentChapter(progressionDatabase.Chapters[currentChapterIndex.Value]);
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
Objective saveObjective = saveDatas.Get<Objective>(objectiveKey);
|
|
86
|
+
|
|
87
|
+
manager.SetCurrentObjective(saveObjective);
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
LoadBaseObjective(saveObjective);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/// <summary>
|
|
94
|
+
///
|
|
95
|
+
/// </summary>
|
|
96
|
+
/// <param name="saveObjective"></param>
|
|
97
|
+
protected void LoadBaseObjective(Objective saveObjective)
|
|
98
|
+
{
|
|
99
|
+
Objective baseObjective = progressionDatabase.GetObjective(manager.currentObjective.Description);
|
|
100
|
+
|
|
101
|
+
if (baseObjective == null)
|
|
102
|
+
{
|
|
103
|
+
UnityEngine.Debug.LogWarning($"REPORT: {ToString()}: " +
|
|
104
|
+
$"Attempting to Repair the Objective since it's not found in any chapter.");
|
|
105
|
+
|
|
106
|
+
int finishedObjectives = ServiceLocator.GetService<IHistory>().GetAmountOfFinishedObjectives();
|
|
107
|
+
|
|
108
|
+
baseObjective = progressionDatabase
|
|
109
|
+
.GetObjective(progressionDatabase.Chapters[currentChapterIndex.Value].Objectives[finishedObjectives].Description);
|
|
110
|
+
|
|
111
|
+
manager.ResetCurrentObjective(baseObjective, saveObjective);
|
|
112
|
+
}
|
|
113
|
+
else if (saveObjective.KeepInstanceData != baseObjective.KeepInstanceData || FlagCountUpdated(baseObjective, saveObjective))
|
|
114
|
+
manager.ResetCurrentObjective(baseObjective, saveObjective);
|
|
115
|
+
|
|
116
|
+
if (baseObjective != null && baseObjective.ProgressionGate != null)
|
|
117
|
+
manager.currentObjective.SetProgressionGate(baseObjective.ProgressionGate);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/// <summary>
|
|
121
|
+
///
|
|
122
|
+
/// </summary>
|
|
123
|
+
/// <param name="baseObjective"></param>
|
|
124
|
+
/// <param name="saveObjective"></param>
|
|
125
|
+
/// <returns></returns>
|
|
126
|
+
protected virtual bool FlagCountUpdated(Objective baseObjective, Objective saveObjective) =>
|
|
127
|
+
baseObjective.Description == saveObjective.Description && baseObjective.Flags.Count != saveObjective.Flags.Count;
|
|
128
|
+
}
|
|
129
129
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 55174aafe59ceec42b3c3ed1f36a2684
|
|
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: 55174aafe59ceec42b3c3ed1f36a2684
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|