fr.jeanf.questsystem 0.0.58 → 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();
@@ -52,7 +52,6 @@ namespace jeanf.questsystem
52
52
  public void OnEnable()
53
53
  {
54
54
  InitializeQuestStep();
55
- Debug.Log("Played questStep's enable");
56
55
  }
57
56
 
58
57
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name":"fr.jeanf.questsystem",
3
- "version":"0.0.58",
3
+ "version":"0.0.60",
4
4
  "displayName":"Quest system",
5
5
  "description":"This package uses Scriptable Objects to define quests.",
6
6
  "unity": "2021.3",