fr.jeanf.questsystem 0.0.59 → 0.0.60
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.
|
@@ -6,6 +6,7 @@ using jeanf.propertyDrawer;
|
|
|
6
6
|
using jeanf.validationTools;
|
|
7
7
|
using UnityEditor;
|
|
8
8
|
using System.Linq;
|
|
9
|
+
using Object = UnityEngine.Object;
|
|
9
10
|
|
|
10
11
|
|
|
11
12
|
namespace jeanf.questsystem
|
|
@@ -44,11 +45,14 @@ namespace jeanf.questsystem
|
|
|
44
45
|
[Header("Listening on:")]
|
|
45
46
|
[SerializeField] [Validation("A reference to the QuestProgress SO is required")] private StringFloatEventChannelSO QuestProgress;
|
|
46
47
|
[SerializeField] [Validation("A reference to the QuestInitialCheck SO is required")] private StringEventChannelSO QuestInitialCheck;
|
|
48
|
+
[SerializeField] private VoidEventChannelSO resetChannel;
|
|
47
49
|
|
|
48
50
|
[Header("Broadcasting on:")] [SerializeField] [Validation("A reference to the QuestRequirementCheck SO is required")]
|
|
49
51
|
private StringEventChannelSO requirementCheck;
|
|
50
52
|
[SerializeField][Validation("A reference to the LoadRequiredScenesEventChannel SO is required")] StringListEventChannelSO loadRequiredScenesEventChannel;
|
|
51
53
|
[SerializeField] IntEventChannelSO unlockDoorsEventChannel;
|
|
54
|
+
|
|
55
|
+
|
|
52
56
|
|
|
53
57
|
#region Awake/Enable/Disable
|
|
54
58
|
private void Awake()
|
|
@@ -73,25 +77,24 @@ namespace jeanf.questsystem
|
|
|
73
77
|
|
|
74
78
|
private void Subscribe()
|
|
75
79
|
{
|
|
80
|
+
resetChannel.OnEventRaised += Reset;
|
|
76
81
|
QuestInitialCheck.OnEventRaised += Init;
|
|
77
82
|
QuestProgress.OnEventRaised += UpdateProgress;
|
|
78
83
|
GameEventsManager.instance.questEvents.onQuestStateChange += QuestStateChange;
|
|
79
84
|
GameEventsManager.instance.inputEvents.onSubmitPressed += UpdateState;
|
|
80
85
|
QuestStep.sendNextStepId += InstantiateQuestStep;
|
|
81
|
-
//QuestStep.stepCompleted += DestroyQuestStep;
|
|
82
86
|
QuestStep.stepActive += UpdateStepStatus;
|
|
83
87
|
QuestStep.childStep += AddStepToStepMap;
|
|
84
|
-
|
|
85
88
|
}
|
|
86
89
|
|
|
87
90
|
private void Unsubscribe()
|
|
88
91
|
{
|
|
92
|
+
resetChannel.OnEventRaised -= Reset;
|
|
89
93
|
QuestInitialCheck.OnEventRaised -= Init;
|
|
90
94
|
QuestProgress.OnEventRaised -= UpdateProgress;
|
|
91
95
|
GameEventsManager.instance.questEvents.onQuestStateChange -= QuestStateChange;
|
|
92
96
|
GameEventsManager.instance.inputEvents.onSubmitPressed -= UpdateState;
|
|
93
97
|
QuestStep.sendNextStepId -= InstantiateQuestStep;
|
|
94
|
-
//QuestStep.stepCompleted -= DestroyQuestStep;
|
|
95
98
|
QuestStep.stepActive -= UpdateStepStatus;
|
|
96
99
|
QuestStep.childStep -= AddStepToStepMap;
|
|
97
100
|
|
|
@@ -99,6 +102,11 @@ namespace jeanf.questsystem
|
|
|
99
102
|
}
|
|
100
103
|
#endregion
|
|
101
104
|
|
|
105
|
+
private void Reset()
|
|
106
|
+
{
|
|
107
|
+
Init(questId);
|
|
108
|
+
}
|
|
109
|
+
|
|
102
110
|
#region Instantiations & Loading
|
|
103
111
|
public void InstantiateQuestStep(string id)
|
|
104
112
|
{
|
|
@@ -159,6 +167,14 @@ namespace jeanf.questsystem
|
|
|
159
167
|
#region quest process
|
|
160
168
|
private void Init(string id)
|
|
161
169
|
{
|
|
170
|
+
if (transform.childCount > 0)
|
|
171
|
+
{
|
|
172
|
+
for (var i = transform.childCount - 1; i >= 0; i--)
|
|
173
|
+
{
|
|
174
|
+
Destroy(transform.GetChild(i));
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
162
178
|
activeSteps.Clear();
|
|
163
179
|
activeSteps.TrimExcess();
|
|
164
180
|
completedSteps.Clear();
|