net.dreditor.minigames.ca 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/ArgumentBuilder.cs +80 -80
- package/ArgumentBuilder.cs.meta +11 -11
- package/ArgumentPage.cs +36 -36
- package/ArgumentPage.cs.meta +11 -11
- package/ArgumentQuestionPanel.cs +136 -136
- package/ArgumentQuestionPanel.cs.meta +11 -11
- package/ClosingArgumentSettings.cs +23 -23
- package/ClosingArgumentSettings.cs.meta +11 -11
- package/ClosingArgumentStockBase.cs +250 -250
- package/ClosingArgumentStockBase.cs.meta +11 -11
- package/DREditor.Minigames.CA.asmdef +24 -24
- package/DREditor.Minigames.CA.asmdef.meta +7 -7
- package/Editor/ArgumentBuilderEditor.cs +139 -139
- package/Editor/ArgumentBuilderEditor.cs.meta +12 -12
- package/Editor/ArgumentPageEditor.cs +283 -283
- package/Editor/ArgumentPageEditor.cs.meta +11 -11
- package/Editor/ArgumentPanelEditor.cs +141 -141
- package/Editor/ArgumentPanelEditor.cs.meta +11 -11
- package/Editor/ArgumentStockEditor.cs +167 -167
- package/Editor/ArgumentStockEditor.cs.meta +11 -11
- package/Editor/CAHandyFields.cs +32 -32
- package/Editor/CAHandyFields.cs.meta +1 -1
- package/Editor/DREditor.Minigames.CA.Editor.asmdef +20 -20
- package/Editor/DREditor.Minigames.CA.Editor.asmdef.meta +7 -7
- package/Editor/PreviewableArgumentBuilderEditor.cs +286 -286
- package/Editor/PreviewableArgumentBuilderEditor.cs.meta +12 -12
- package/Editor.meta +8 -8
- package/IActiveStockPanel.cs +36 -36
- package/IActiveStockPanel.cs.meta +11 -11
- package/IArgumentPreviewInitializer.cs +19 -19
- package/IArgumentPreviewInitializer.cs.meta +11 -11
- package/IClosingArgumentListener.cs +17 -17
- package/IClosingArgumentListener.cs.meta +11 -11
- package/IClosingArgumentPagePreviewer.cs +16 -16
- package/IClosingArgumentPagePreviewer.cs.meta +11 -11
- package/IClosingArgumentResetable.cs +15 -15
- package/IClosingArgumentResetable.cs.meta +11 -11
- package/ILockPreview.cs +16 -16
- package/ILockPreview.cs.meta +11 -11
- package/IPageListener.cs +17 -17
- package/IPageListener.cs.meta +11 -11
- package/IPagesInitializer.cs +17 -17
- package/IPagesInitializer.cs.meta +11 -11
- package/ITotalStockListener.cs +16 -16
- package/ITotalStockListener.cs.meta +11 -11
- package/Managers/ArgumentInitializerBase.cs +17 -17
- package/Managers/ArgumentInitializerBase.cs.meta +11 -11
- package/Managers/ClosingArgumentInitializer.cs +128 -128
- package/Managers/ClosingArgumentInitializer.cs.meta +10 -10
- package/Managers/ClosingArgumentManager.cs +269 -269
- package/Managers/ClosingArgumentManager.cs.meta +10 -10
- package/Managers/ClosingArgumentManagerBase.cs +146 -146
- package/Managers/ClosingArgumentManagerBase.cs.meta +11 -11
- package/Managers/ClosingArgumentPreviewInitializer.cs +80 -80
- package/Managers/ClosingArgumentPreviewInitializer.cs.meta +17 -17
- package/Managers.meta +8 -8
- package/Pages/IPageInitializer.cs +23 -23
- package/Pages/IPageInitializer.cs.meta +11 -11
- package/Pages/MainPagePreviewer.cs +66 -66
- package/Pages/MainPagePreviewer.cs.meta +11 -11
- package/Pages/MiniPageInitializer.cs +144 -144
- package/Pages/MiniPageInitializer.cs.meta +11 -11
- package/Pages/MoveMainPagesComponent.cs +163 -163
- package/Pages/MoveMainPagesComponent.cs.meta +11 -11
- package/Pages/MovePageComponent.cs +104 -104
- package/Pages/MovePageComponent.cs.meta +11 -11
- package/Pages/MovePageHandler.cs +215 -215
- package/Pages/MovePageHandler.cs.meta +11 -11
- package/Pages/PageArrows.cs +124 -124
- package/Pages/PageArrows.cs.meta +11 -11
- package/Pages/PageCounter.cs +65 -65
- package/Pages/PageCounter.cs.meta +11 -11
- package/Pages/PageHandlerBase.cs +30 -30
- package/Pages/PageHandlerBase.cs.meta +11 -11
- package/Pages/PageInitializer.cs +195 -195
- package/Pages/PageInitializer.cs.meta +11 -11
- package/Pages/PageInitializerBase.cs +65 -65
- package/Pages/PageInitializerBase.cs.meta +11 -11
- package/Pages/PagePreviewer.cs +57 -57
- package/Pages/PagePreviewer.cs.meta +11 -11
- package/Pages.meta +8 -8
- package/PanelInitializerBase.cs +147 -147
- package/PanelInitializerBase.cs.meta +11 -11
- package/Panels/ClosingArgumentReticle.cs +169 -169
- package/Panels/ClosingArgumentReticle.cs.meta +11 -11
- package/Panels/ClosingArgumentShooter.cs +153 -153
- package/Panels/ClosingArgumentShooter.cs.meta +11 -11
- package/Panels/CorrectMiniPanelUpdater.cs +45 -45
- package/Panels/CorrectMiniPanelUpdater.cs.meta +11 -11
- package/Panels/CorrectPanelUpdater.cs +24 -24
- package/Panels/CorrectPanelUpdater.cs.meta +11 -11
- package/Panels/PanelInitializer.cs +51 -51
- package/Panels/PanelInitializer.cs.meta +11 -11
- package/Panels/PreviewPanelInitializer.cs +58 -58
- package/Panels/PreviewPanelInitializer.cs.meta +11 -11
- package/Panels/QuestionPanel.cs +143 -143
- package/Panels/QuestionPanel.cs.meta +11 -11
- package/Panels/QuestionPanelBase.cs +68 -68
- package/Panels/QuestionPanelBase.cs.meta +11 -11
- package/Panels.meta +8 -8
- package/{Samples → Samples~}/CACameraEnabled.asset +21 -21
- package/{Samples → Samples~}/CACameraEnabled.asset.meta +8 -8
- package/{Samples → Samples~}/CAPanelTarget.asset +25 -25
- package/{Samples → Samples~}/CAPanelTarget.asset.meta +8 -8
- package/{Samples → Samples~}/CAResult.asset +21 -21
- package/{Samples → Samples~}/CAResult.asset.meta +8 -8
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square/Being Hidden Top.anim +600 -600
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square/Being Hidden Top.anim.meta +8 -8
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square/Being Hidden.anim +600 -600
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square/Being Hidden.anim.meta +8 -8
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square/Being Shown Top.anim +600 -600
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square/Being Shown Top.anim.meta +8 -8
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square/Being Shown.anim +582 -582
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square/Being Shown.anim.meta +8 -8
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square/Mystery Square.controller +188 -188
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square/Mystery Square.controller.meta +8 -8
- package/{Samples → Samples~}/CA_Animations/CA_Page_Square.meta +8 -8
- package/{Samples → Samples~}/CA_Animations.meta +8 -8
- package/{Samples → Samples~}/Managers/CA_Camera.prefab +159 -159
- package/{Samples → Samples~}/Managers/CA_Camera.prefab.meta +7 -7
- package/{Samples → Samples~}/Managers/CA_Camera_Canvas.prefab +195 -195
- package/{Samples → Samples~}/Managers/CA_Camera_Canvas.prefab.meta +7 -7
- package/{Samples → Samples~}/Managers/CA_Manager_Preview_Shell.prefab +267 -267
- package/{Samples → Samples~}/Managers/CA_Manager_Preview_Shell.prefab.meta +7 -7
- package/{Samples → Samples~}/Managers/CA_Manager_Preview_Template.prefab +613 -613
- package/{Samples → Samples~}/Managers/CA_Manager_Preview_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Managers/CA_Manager_Shell.prefab +443 -443
- package/{Samples → Samples~}/Managers/CA_Manager_Shell.prefab.meta +7 -7
- package/{Samples → Samples~}/Managers/CA_Manager_Template.prefab +709 -709
- package/{Samples → Samples~}/Managers/CA_Manager_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Managers/CA_Result_UI_ETemplate.prefab +433 -433
- package/{Samples → Samples~}/Managers/CA_Result_UI_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Managers.meta +8 -8
- package/{Samples → Samples~}/Pages/CA_Colliders.prefab +305 -305
- package/{Samples → Samples~}/Pages/CA_Colliders.prefab.meta +7 -7
- package/{Samples → Samples~}/Pages/CA_Main_Page_Arrows_ETemplate.prefab +221 -221
- package/{Samples → Samples~}/Pages/CA_Main_Page_Arrows_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Pages/CA_Page_Gameplay_Shell.prefab +435 -435
- package/{Samples → Samples~}/Pages/CA_Page_Gameplay_Shell.prefab.meta +7 -7
- package/{Samples → Samples~}/Pages/CA_Page_Gameplay_Template.prefab +220 -220
- package/{Samples → Samples~}/Pages/CA_Page_Gameplay_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Pages/CA_Reticle_ETemplate.prefab +337 -337
- package/{Samples → Samples~}/Pages/CA_Reticle_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Pages/CA_Reticle_Shooter_Template.prefab +148 -148
- package/{Samples → Samples~}/Pages/CA_Reticle_Shooter_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Pages/Mystery_Square_ETemplate.prefab +857 -857
- package/{Samples → Samples~}/Pages/Mystery_Square_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Pages/Page_Add_Ons_ETemplate.prefab +203 -203
- package/{Samples → Samples~}/Pages/Page_Add_Ons_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Pages/Page_ETemplate.prefab +256 -256
- package/{Samples → Samples~}/Pages/Page_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Pages.meta +8 -8
- package/{Samples → Samples~}/Stocks/CA_Stock_Display_Shell.prefab +110 -110
- package/{Samples → Samples~}/Stocks/CA_Stock_Display_Shell.prefab.meta +7 -7
- package/{Samples → Samples~}/Stocks/CA_Stock_Display_Template.prefab +731 -731
- package/{Samples → Samples~}/Stocks/CA_Stock_Display_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Stocks/CA_Stock_ETemplate.prefab +427 -427
- package/{Samples → Samples~}/Stocks/CA_Stock_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Stocks/CA_Stock_Parent_Shell.prefab +61 -61
- package/{Samples → Samples~}/Stocks/CA_Stock_Parent_Shell.prefab.meta +7 -7
- package/{Samples → Samples~}/Stocks/CA_Stock_Parent_Template.prefab +1017 -1017
- package/{Samples → Samples~}/Stocks/CA_Stock_Parent_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Stocks.meta +8 -8
- package/{Samples → Samples~}/UI/CA_Trial_Timer_Canvas_Template.prefab +229 -229
- package/{Samples → Samples~}/UI/CA_Trial_Timer_Canvas_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/UI/CA_UI_Background_ETemplate.prefab +86 -86
- package/{Samples → Samples~}/UI/CA_UI_Background_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/UI/CA_UI_Pages_Decorations_Template.prefab +109 -109
- package/{Samples → Samples~}/UI/CA_UI_Pages_Decorations_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/UI/CA_UI_Stock_Panel_ETemplate.prefab +464 -464
- package/{Samples → Samples~}/UI/CA_UI_Stock_Panel_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/UI/CA_UI_Template.prefab +261 -261
- package/{Samples → Samples~}/UI/CA_UI_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/UI/Page_Counter_UI_ETemplate.prefab +831 -831
- package/{Samples → Samples~}/UI/Page_Counter_UI_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/UI.meta +8 -8
- package/Stocks/ActiveStockPanel.cs +177 -177
- package/Stocks/ActiveStockPanel.cs.meta +11 -11
- package/Stocks/ActiveStockPanelBase.cs +80 -80
- package/Stocks/ActiveStockPanelBase.cs.meta +11 -11
- package/Stocks/ActiveStockPanelStateable.cs +142 -142
- package/Stocks/ActiveStockPanelStateable.cs.meta +11 -11
- package/Stocks/ClosingArgumentStock.cs +120 -120
- package/Stocks/ClosingArgumentStock.cs.meta +11 -11
- package/Stocks/ShootCAStockVisibility.cs +133 -133
- package/Stocks/ShootCAStockVisibility.cs.meta +1 -1
- package/Stocks/StockParent.cs +127 -127
- package/Stocks/StockParent.cs.meta +11 -11
- package/Stocks.meta +8 -8
- package/package.json +46 -41
- package/package.json.meta +7 -7
- package/Samples.meta +0 -8
|
@@ -1,270 +1,270 @@
|
|
|
1
|
-
// Original Author: Henry (Meowpixel)
|
|
2
|
-
// Updated/Reworked by: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
3
|
-
using DREditor.Audio;
|
|
4
|
-
using DREditor.Dialogues.Events;
|
|
5
|
-
using DREditor.EventObjects;
|
|
6
|
-
using DREditor.Fading;
|
|
7
|
-
using DREditor.Minigames.Stats;
|
|
8
|
-
using DREditor.Services;
|
|
9
|
-
using DREditor.UIHandling;
|
|
10
|
-
using DREditor.UIHandling.Reticles;
|
|
11
|
-
using System.Collections;
|
|
12
|
-
using System.Linq;
|
|
13
|
-
using UnityEngine;
|
|
14
|
-
using UnityEngine.Events;
|
|
15
|
-
|
|
16
|
-
namespace DREditor.Minigames.CA.Managers
|
|
17
|
-
{
|
|
18
|
-
/// <summary>
|
|
19
|
-
///
|
|
20
|
-
/// </summary>
|
|
21
|
-
[ClassHeader(nameof(MinigameManagerBase) + ", " + nameof(ClosingArgumentManagerBase) +
|
|
22
|
-
"\n\n")]
|
|
23
|
-
public class ClosingArgumentManager : ClosingArgumentManagerBase
|
|
24
|
-
{
|
|
25
|
-
/// <summary>
|
|
26
|
-
///
|
|
27
|
-
/// </summary>
|
|
28
|
-
[Tooltip("")]
|
|
29
|
-
[SerializeField] protected BoolWithEvent caResult = null;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
/// <summary>
|
|
33
|
-
///
|
|
34
|
-
/// </summary>
|
|
35
|
-
[Header("")]
|
|
36
|
-
[Divider]
|
|
37
|
-
[Tooltip("")]
|
|
38
|
-
[SerializeField] protected HoverReticle reticle = null;
|
|
39
|
-
|
|
40
|
-
/// <summary>
|
|
41
|
-
///
|
|
42
|
-
/// </summary>
|
|
43
|
-
[Tooltip("")]
|
|
44
|
-
[SerializeField] protected float minigameEndFadeDuration = 0.5f;
|
|
45
|
-
|
|
46
|
-
/// <summary>
|
|
47
|
-
///
|
|
48
|
-
/// </summary>
|
|
49
|
-
[Tooltip("")]
|
|
50
|
-
[SerializeField] protected int damageTakenOnWrong = 1;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
/// <summary>
|
|
54
|
-
///
|
|
55
|
-
/// </summary>
|
|
56
|
-
[Header("")]
|
|
57
|
-
[Divider]
|
|
58
|
-
[Tooltip("")]
|
|
59
|
-
[SerializeField] protected UIVisibilityComponent introOutroUI = null;
|
|
60
|
-
|
|
61
|
-
/// <summary>
|
|
62
|
-
///
|
|
63
|
-
/// </summary>
|
|
64
|
-
[Tooltip("")]
|
|
65
|
-
[SerializeField] protected UIVisibilityComponent resultUI = null;
|
|
66
|
-
|
|
67
|
-
/// <summary>
|
|
68
|
-
///
|
|
69
|
-
/// </summary>
|
|
70
|
-
[Tooltip("")]
|
|
71
|
-
[SerializeField] protected UIVisibilityComponent answerUI = null;
|
|
72
|
-
|
|
73
|
-
/// <summary>
|
|
74
|
-
///
|
|
75
|
-
/// </summary>
|
|
76
|
-
[Tooltip("")]
|
|
77
|
-
[SerializeField] protected UIVisibilityComponent cameraUI = null;
|
|
78
|
-
|
|
79
|
-
/// <summary>
|
|
80
|
-
///
|
|
81
|
-
/// </summary>
|
|
82
|
-
[Tooltip("")]
|
|
83
|
-
[SerializeField] protected float menuFadeWaitTime = 0.5f;
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
[Header("")]
|
|
87
|
-
[Divider]
|
|
88
|
-
[Header("")]
|
|
89
|
-
[SerializeField] protected UnityEvent OnCorrect = null;
|
|
90
|
-
|
|
91
|
-
[Header("")]
|
|
92
|
-
[SerializeField] protected UnityEvent OnIncorrect = null;
|
|
93
|
-
|
|
94
|
-
[Header("")]
|
|
95
|
-
[SerializeField] protected UnityEvent OnMinigameEnding = null;
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
/// <summary>
|
|
99
|
-
///
|
|
100
|
-
/// </summary>
|
|
101
|
-
protected int totalAnswered = 0;
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
/// <summary>
|
|
105
|
-
///
|
|
106
|
-
/// </summary>
|
|
107
|
-
protected IActiveStockPanel activeStockPanel;
|
|
108
|
-
|
|
109
|
-
/// <summary>
|
|
110
|
-
///
|
|
111
|
-
/// </summary>
|
|
112
|
-
protected IClosingArgumentListener[] argumentListeners;
|
|
113
|
-
|
|
114
|
-
/// <summary>
|
|
115
|
-
///
|
|
116
|
-
/// </summary>
|
|
117
|
-
protected IClosingArgumentResetable[] argumentReseters;
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
/// <inheritdoc/>
|
|
121
|
-
protected override void OnMinigameEnable()
|
|
122
|
-
{
|
|
123
|
-
base.OnMinigameEnable();
|
|
124
|
-
|
|
125
|
-
caResult.AddListener(OnShotResult);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
/// <inheritdoc/>
|
|
129
|
-
protected override void OnMinigameDisable()
|
|
130
|
-
{
|
|
131
|
-
base.OnMinigameDisable();
|
|
132
|
-
|
|
133
|
-
caResult.RemoveListener(OnShotResult);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
/// <inheritdoc/>
|
|
138
|
-
protected override void Initialize(ArgumentBuilder builder)
|
|
139
|
-
{
|
|
140
|
-
base.Initialize(builder);
|
|
141
|
-
|
|
142
|
-
ServiceLocator.GetService<TrialStatsBase>().ShowTrialStats();
|
|
143
|
-
|
|
144
|
-
activeStockPanel = GetComponentInChildren<IActiveStockPanel>();
|
|
145
|
-
|
|
146
|
-
activeStockPanel.InitializeActivePanel(0);
|
|
147
|
-
|
|
148
|
-
if (ServiceLocator.HasService<GlobalFade>())
|
|
149
|
-
ServiceLocator.GetService<GlobalFade>().FadeOut(menuFadeWaitTime);
|
|
150
|
-
|
|
151
|
-
introOutroUI.Show();
|
|
152
|
-
|
|
153
|
-
inputAllowed.SetValue(true);
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
/// <inheritdoc/>
|
|
158
|
-
protected override void StopGame()
|
|
159
|
-
{
|
|
160
|
-
base.StopGame();
|
|
161
|
-
|
|
162
|
-
cameraUI.Hide();
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
/// <summary>
|
|
166
|
-
///
|
|
167
|
-
/// </summary>
|
|
168
|
-
/// <param name="o"></param>
|
|
169
|
-
protected virtual void ContinueRestart(object o = null) => Restart();
|
|
170
|
-
|
|
171
|
-
/// <inheritdoc/>
|
|
172
|
-
protected override void Restart() => StartCoroutine(CAReset());
|
|
173
|
-
|
|
174
|
-
/// <summary>
|
|
175
|
-
///
|
|
176
|
-
/// </summary>
|
|
177
|
-
protected virtual IEnumerator CAReset()
|
|
178
|
-
{
|
|
179
|
-
cameraUI.Show();
|
|
180
|
-
|
|
181
|
-
totalAnswered = 0;
|
|
182
|
-
|
|
183
|
-
argumentReseters ??= FindObjectsByType<MonoBehaviour>().OfType<IClosingArgumentResetable>().ToArray();
|
|
184
|
-
|
|
185
|
-
foreach (var listener in argumentReseters)
|
|
186
|
-
listener.CAReset();
|
|
187
|
-
|
|
188
|
-
argumentListeners = null;
|
|
189
|
-
|
|
190
|
-
argumentReseters = null;
|
|
191
|
-
|
|
192
|
-
yield return null;
|
|
193
|
-
|
|
194
|
-
Initialize(builder);
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
/// <summary>
|
|
199
|
-
///
|
|
200
|
-
/// </summary>
|
|
201
|
-
/// <param name="wasCorrect"></param>
|
|
202
|
-
protected virtual void OnShotResult(bool wasCorrect) => StartCoroutine(wasCorrect ? CorrectAnim() : IncorrectAnim());
|
|
203
|
-
|
|
204
|
-
/// <summary>
|
|
205
|
-
///
|
|
206
|
-
/// </summary>
|
|
207
|
-
protected virtual IEnumerator CorrectAnim()
|
|
208
|
-
{
|
|
209
|
-
OnCorrect?.Invoke();
|
|
210
|
-
|
|
211
|
-
yield return resultUI.ShowTillComplete();
|
|
212
|
-
|
|
213
|
-
Transform hoveredObject = reticle.GetHoveredObject<MonoBehaviour>().transform;
|
|
214
|
-
|
|
215
|
-
argumentListeners ??= FindObjectsByType<MonoBehaviour>()
|
|
216
|
-
.OfType<IClosingArgumentListener>()
|
|
217
|
-
.ToArray();
|
|
218
|
-
|
|
219
|
-
foreach (var listener in argumentListeners)
|
|
220
|
-
listener.OnStockCorrect(hoveredObject);
|
|
221
|
-
|
|
222
|
-
totalAnswered++;
|
|
223
|
-
|
|
224
|
-
if (totalStock == totalAnswered)
|
|
225
|
-
StartCoroutine(ResolveMinigame());
|
|
226
|
-
else
|
|
227
|
-
inputAllowed.SetValue(true);
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
/// <summary>
|
|
231
|
-
///
|
|
232
|
-
/// </summary>
|
|
233
|
-
protected virtual IEnumerator IncorrectAnim()
|
|
234
|
-
{
|
|
235
|
-
OnIncorrect?.Invoke();
|
|
236
|
-
|
|
237
|
-
yield return resultUI.HideTillComplete();
|
|
238
|
-
|
|
239
|
-
if (!trialTimeUp.Value)
|
|
240
|
-
ServiceLocator.GetService<TrialStatsBase>().TakeDamage(damageTakenOnWrong);
|
|
241
|
-
|
|
242
|
-
yield return null; // Buffer a frame to register whether the player has died.
|
|
243
|
-
|
|
244
|
-
if (!playerHasDied.Value && !trialTimeUp.Value)
|
|
245
|
-
inputAllowed.SetValue(true);
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
/// <inheritdoc/>
|
|
250
|
-
public override IEnumerator ResolveMinigame()
|
|
251
|
-
{
|
|
252
|
-
inputAllowed.SetValue(false);
|
|
253
|
-
|
|
254
|
-
TrialTimer.StopTimer();
|
|
255
|
-
|
|
256
|
-
OnMinigameEnding?.Invoke();
|
|
257
|
-
|
|
258
|
-
yield return new WaitForSeconds(menuFadeWaitTime);
|
|
259
|
-
|
|
260
|
-
ServiceLocator.GetService<MusicManagerBase>().StopMusic();
|
|
261
|
-
|
|
262
|
-
yield return answerUI.ShowTillComplete();
|
|
263
|
-
|
|
264
|
-
if (ServiceLocator.HasService<GlobalFade>())
|
|
265
|
-
yield return ServiceLocator.GetService<GlobalFade>().FadeToRoutine(minigameEndFadeDuration);
|
|
266
|
-
|
|
267
|
-
yield return base.ResolveMinigame();
|
|
268
|
-
}
|
|
269
|
-
}
|
|
1
|
+
// Original Author: Henry (Meowpixel)
|
|
2
|
+
// Updated/Reworked by: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
3
|
+
using DREditor.Audio;
|
|
4
|
+
using DREditor.Dialogues.Events;
|
|
5
|
+
using DREditor.EventObjects;
|
|
6
|
+
using DREditor.Fading;
|
|
7
|
+
using DREditor.Minigames.Stats;
|
|
8
|
+
using DREditor.Services;
|
|
9
|
+
using DREditor.UIHandling;
|
|
10
|
+
using DREditor.UIHandling.Reticles;
|
|
11
|
+
using System.Collections;
|
|
12
|
+
using System.Linq;
|
|
13
|
+
using UnityEngine;
|
|
14
|
+
using UnityEngine.Events;
|
|
15
|
+
|
|
16
|
+
namespace DREditor.Minigames.CA.Managers
|
|
17
|
+
{
|
|
18
|
+
/// <summary>
|
|
19
|
+
///
|
|
20
|
+
/// </summary>
|
|
21
|
+
[ClassHeader(nameof(MinigameManagerBase) + ", " + nameof(ClosingArgumentManagerBase) +
|
|
22
|
+
"\n\n")]
|
|
23
|
+
public class ClosingArgumentManager : ClosingArgumentManagerBase
|
|
24
|
+
{
|
|
25
|
+
/// <summary>
|
|
26
|
+
///
|
|
27
|
+
/// </summary>
|
|
28
|
+
[Tooltip("")]
|
|
29
|
+
[SerializeField] protected BoolWithEvent caResult = null;
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
/// <summary>
|
|
33
|
+
///
|
|
34
|
+
/// </summary>
|
|
35
|
+
[Header("")]
|
|
36
|
+
[Divider]
|
|
37
|
+
[Tooltip("")]
|
|
38
|
+
[SerializeField] protected HoverReticle reticle = null;
|
|
39
|
+
|
|
40
|
+
/// <summary>
|
|
41
|
+
///
|
|
42
|
+
/// </summary>
|
|
43
|
+
[Tooltip("")]
|
|
44
|
+
[SerializeField] protected float minigameEndFadeDuration = 0.5f;
|
|
45
|
+
|
|
46
|
+
/// <summary>
|
|
47
|
+
///
|
|
48
|
+
/// </summary>
|
|
49
|
+
[Tooltip("")]
|
|
50
|
+
[SerializeField] protected int damageTakenOnWrong = 1;
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
/// <summary>
|
|
54
|
+
///
|
|
55
|
+
/// </summary>
|
|
56
|
+
[Header("")]
|
|
57
|
+
[Divider]
|
|
58
|
+
[Tooltip("")]
|
|
59
|
+
[SerializeField] protected UIVisibilityComponent introOutroUI = null;
|
|
60
|
+
|
|
61
|
+
/// <summary>
|
|
62
|
+
///
|
|
63
|
+
/// </summary>
|
|
64
|
+
[Tooltip("")]
|
|
65
|
+
[SerializeField] protected UIVisibilityComponent resultUI = null;
|
|
66
|
+
|
|
67
|
+
/// <summary>
|
|
68
|
+
///
|
|
69
|
+
/// </summary>
|
|
70
|
+
[Tooltip("")]
|
|
71
|
+
[SerializeField] protected UIVisibilityComponent answerUI = null;
|
|
72
|
+
|
|
73
|
+
/// <summary>
|
|
74
|
+
///
|
|
75
|
+
/// </summary>
|
|
76
|
+
[Tooltip("")]
|
|
77
|
+
[SerializeField] protected UIVisibilityComponent cameraUI = null;
|
|
78
|
+
|
|
79
|
+
/// <summary>
|
|
80
|
+
///
|
|
81
|
+
/// </summary>
|
|
82
|
+
[Tooltip("")]
|
|
83
|
+
[SerializeField] protected float menuFadeWaitTime = 0.5f;
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
[Header("")]
|
|
87
|
+
[Divider]
|
|
88
|
+
[Header("")]
|
|
89
|
+
[SerializeField] protected UnityEvent OnCorrect = null;
|
|
90
|
+
|
|
91
|
+
[Header("")]
|
|
92
|
+
[SerializeField] protected UnityEvent OnIncorrect = null;
|
|
93
|
+
|
|
94
|
+
[Header("")]
|
|
95
|
+
[SerializeField] protected UnityEvent OnMinigameEnding = null;
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
/// <summary>
|
|
99
|
+
///
|
|
100
|
+
/// </summary>
|
|
101
|
+
protected int totalAnswered = 0;
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
/// <summary>
|
|
105
|
+
///
|
|
106
|
+
/// </summary>
|
|
107
|
+
protected IActiveStockPanel activeStockPanel;
|
|
108
|
+
|
|
109
|
+
/// <summary>
|
|
110
|
+
///
|
|
111
|
+
/// </summary>
|
|
112
|
+
protected IClosingArgumentListener[] argumentListeners;
|
|
113
|
+
|
|
114
|
+
/// <summary>
|
|
115
|
+
///
|
|
116
|
+
/// </summary>
|
|
117
|
+
protected IClosingArgumentResetable[] argumentReseters;
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
/// <inheritdoc/>
|
|
121
|
+
protected override void OnMinigameEnable()
|
|
122
|
+
{
|
|
123
|
+
base.OnMinigameEnable();
|
|
124
|
+
|
|
125
|
+
caResult.AddListener(OnShotResult);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/// <inheritdoc/>
|
|
129
|
+
protected override void OnMinigameDisable()
|
|
130
|
+
{
|
|
131
|
+
base.OnMinigameDisable();
|
|
132
|
+
|
|
133
|
+
caResult.RemoveListener(OnShotResult);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
/// <inheritdoc/>
|
|
138
|
+
protected override void Initialize(ArgumentBuilder builder)
|
|
139
|
+
{
|
|
140
|
+
base.Initialize(builder);
|
|
141
|
+
|
|
142
|
+
ServiceLocator.GetService<TrialStatsBase>().ShowTrialStats();
|
|
143
|
+
|
|
144
|
+
activeStockPanel = GetComponentInChildren<IActiveStockPanel>();
|
|
145
|
+
|
|
146
|
+
activeStockPanel.InitializeActivePanel(0);
|
|
147
|
+
|
|
148
|
+
if (ServiceLocator.HasService<GlobalFade>())
|
|
149
|
+
ServiceLocator.GetService<GlobalFade>().FadeOut(menuFadeWaitTime);
|
|
150
|
+
|
|
151
|
+
introOutroUI.Show();
|
|
152
|
+
|
|
153
|
+
inputAllowed.SetValue(true);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
/// <inheritdoc/>
|
|
158
|
+
protected override void StopGame()
|
|
159
|
+
{
|
|
160
|
+
base.StopGame();
|
|
161
|
+
|
|
162
|
+
cameraUI.Hide();
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/// <summary>
|
|
166
|
+
///
|
|
167
|
+
/// </summary>
|
|
168
|
+
/// <param name="o"></param>
|
|
169
|
+
protected virtual void ContinueRestart(object o = null) => Restart();
|
|
170
|
+
|
|
171
|
+
/// <inheritdoc/>
|
|
172
|
+
protected override void Restart() => StartCoroutine(CAReset());
|
|
173
|
+
|
|
174
|
+
/// <summary>
|
|
175
|
+
///
|
|
176
|
+
/// </summary>
|
|
177
|
+
protected virtual IEnumerator CAReset()
|
|
178
|
+
{
|
|
179
|
+
cameraUI.Show();
|
|
180
|
+
|
|
181
|
+
totalAnswered = 0;
|
|
182
|
+
|
|
183
|
+
argumentReseters ??= FindObjectsByType<MonoBehaviour>().OfType<IClosingArgumentResetable>().ToArray();
|
|
184
|
+
|
|
185
|
+
foreach (var listener in argumentReseters)
|
|
186
|
+
listener.CAReset();
|
|
187
|
+
|
|
188
|
+
argumentListeners = null;
|
|
189
|
+
|
|
190
|
+
argumentReseters = null;
|
|
191
|
+
|
|
192
|
+
yield return null;
|
|
193
|
+
|
|
194
|
+
Initialize(builder);
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
/// <summary>
|
|
199
|
+
///
|
|
200
|
+
/// </summary>
|
|
201
|
+
/// <param name="wasCorrect"></param>
|
|
202
|
+
protected virtual void OnShotResult(bool wasCorrect) => StartCoroutine(wasCorrect ? CorrectAnim() : IncorrectAnim());
|
|
203
|
+
|
|
204
|
+
/// <summary>
|
|
205
|
+
///
|
|
206
|
+
/// </summary>
|
|
207
|
+
protected virtual IEnumerator CorrectAnim()
|
|
208
|
+
{
|
|
209
|
+
OnCorrect?.Invoke();
|
|
210
|
+
|
|
211
|
+
yield return resultUI.ShowTillComplete();
|
|
212
|
+
|
|
213
|
+
Transform hoveredObject = reticle.GetHoveredObject<MonoBehaviour>().transform;
|
|
214
|
+
|
|
215
|
+
argumentListeners ??= FindObjectsByType<MonoBehaviour>()
|
|
216
|
+
.OfType<IClosingArgumentListener>()
|
|
217
|
+
.ToArray();
|
|
218
|
+
|
|
219
|
+
foreach (var listener in argumentListeners)
|
|
220
|
+
listener.OnStockCorrect(hoveredObject);
|
|
221
|
+
|
|
222
|
+
totalAnswered++;
|
|
223
|
+
|
|
224
|
+
if (totalStock == totalAnswered)
|
|
225
|
+
StartCoroutine(ResolveMinigame());
|
|
226
|
+
else
|
|
227
|
+
inputAllowed.SetValue(true);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/// <summary>
|
|
231
|
+
///
|
|
232
|
+
/// </summary>
|
|
233
|
+
protected virtual IEnumerator IncorrectAnim()
|
|
234
|
+
{
|
|
235
|
+
OnIncorrect?.Invoke();
|
|
236
|
+
|
|
237
|
+
yield return resultUI.HideTillComplete();
|
|
238
|
+
|
|
239
|
+
if (!trialTimeUp.Value)
|
|
240
|
+
ServiceLocator.GetService<TrialStatsBase>().TakeDamage(damageTakenOnWrong);
|
|
241
|
+
|
|
242
|
+
yield return null; // Buffer a frame to register whether the player has died.
|
|
243
|
+
|
|
244
|
+
if (!playerHasDied.Value && !trialTimeUp.Value)
|
|
245
|
+
inputAllowed.SetValue(true);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
/// <inheritdoc/>
|
|
250
|
+
public override IEnumerator ResolveMinigame()
|
|
251
|
+
{
|
|
252
|
+
inputAllowed.SetValue(false);
|
|
253
|
+
|
|
254
|
+
TrialTimer.StopTimer();
|
|
255
|
+
|
|
256
|
+
OnMinigameEnding?.Invoke();
|
|
257
|
+
|
|
258
|
+
yield return new WaitForSeconds(menuFadeWaitTime);
|
|
259
|
+
|
|
260
|
+
ServiceLocator.GetService<MusicManagerBase>().StopMusic();
|
|
261
|
+
|
|
262
|
+
yield return answerUI.ShowTillComplete();
|
|
263
|
+
|
|
264
|
+
if (ServiceLocator.HasService<GlobalFade>())
|
|
265
|
+
yield return ServiceLocator.GetService<GlobalFade>().FadeToRoutine(minigameEndFadeDuration);
|
|
266
|
+
|
|
267
|
+
yield return base.ResolveMinigame();
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
270
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 123692f820dff274f8f6bd10e59edcf2
|
|
3
|
-
MonoImporter:
|
|
4
|
-
externalObjects: {}
|
|
5
|
-
serializedVersion: 2
|
|
6
|
-
defaultReferences: []
|
|
7
|
-
executionOrder: 0
|
|
8
|
-
icon: {instanceID: 0}
|
|
9
|
-
userData:
|
|
10
|
-
assetBundleName:
|
|
1
|
+
fileFormatVersion: 2
|
|
2
|
+
guid: 123692f820dff274f8f6bd10e59edcf2
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
11
|
assetBundleVariant:
|