net.dreditor.minigames 0.1.6 → 0.1.7

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.
Files changed (167) hide show
  1. package/.attestation.p7m +0 -0
  2. package/BulletDifficulty.cs +36 -36
  3. package/BulletDifficulty.cs.meta +11 -11
  4. package/BulletDifficultyEditor.cs +380 -380
  5. package/BulletDifficultyEditor.cs.meta +11 -11
  6. package/DREditor.Minigames.asmdef +36 -36
  7. package/DREditor.Minigames.asmdef.meta +7 -7
  8. package/DifficultyEditorBase.cs +60 -60
  9. package/DifficultyEditorBase.cs.meta +11 -11
  10. package/IShatterGraphic.cs +32 -32
  11. package/IShatterGraphic.cs.meta +11 -11
  12. package/IShatterText.cs +33 -33
  13. package/IShatterText.cs.meta +11 -11
  14. package/InitializeTrialOffsets.cs +51 -51
  15. package/InitializeTrialOffsets.cs.meta +11 -11
  16. package/MinigameBuilderBase.cs +28 -28
  17. package/MinigameBuilderBase.cs.meta +11 -11
  18. package/MinigameControlsUIHandler.cs +94 -94
  19. package/MinigameControlsUIHandler.cs.meta +11 -11
  20. package/MinigameManagerBase.cs +197 -197
  21. package/MinigameManagerBase.cs.meta +11 -11
  22. package/QuestionToggle.cs +154 -154
  23. package/QuestionToggle.cs.meta +11 -11
  24. package/RestoreControlsUIPostDialogue.cs +100 -100
  25. package/RestoreControlsUIPostDialogue.cs.meta +1 -1
  26. package/{Samples → Samples~}/Bullet Shatter Mesh Generator.asset +23 -23
  27. package/{Samples → Samples~}/Bullet Shatter Mesh Generator.asset.meta +8 -8
  28. package/{Samples → Samples~}/HasStamina.asset +21 -21
  29. package/{Samples → Samples~}/HasStamina.asset.meta +8 -8
  30. package/{Samples → Samples~}/IsDrainingStamina.asset +21 -21
  31. package/{Samples → Samples~}/IsDrainingStamina.asset.meta +8 -8
  32. package/{Samples → Samples~}/MinigameInputAllowed.asset +21 -21
  33. package/{Samples → Samples~}/MinigameInputAllowed.asset.meta +8 -8
  34. package/{Samples → Samples~}/Minigame_Controls_UI_Handler.prefab +53 -53
  35. package/{Samples → Samples~}/Minigame_Controls_UI_Handler.prefab.meta +7 -7
  36. package/{Samples → Samples~}/Quad Shatter.asset +31 -31
  37. package/{Samples → Samples~}/Quad Shatter.asset.meta +8 -8
  38. package/{Samples → Samples~}/ShatterCameraEnabled.asset +21 -21
  39. package/{Samples → Samples~}/ShatterCameraEnabled.asset.meta +8 -8
  40. package/{Samples → Samples~}/Shatter_Graphic.prefab +98 -98
  41. package/{Samples → Samples~}/Shatter_Graphic.prefab.meta +7 -7
  42. package/{Samples → Samples~}/Stamina_Handler.prefab +59 -59
  43. package/{Samples → Samples~}/Stamina_Handler.prefab.meta +7 -7
  44. package/{Samples → Samples~}/TBS_Manager_Shell.prefab +60 -60
  45. package/{Samples → Samples~}/TBS_Manager_Shell.prefab.meta +7 -7
  46. package/{Samples → Samples~}/TBS_Manager_Template.prefab +504 -504
  47. package/{Samples → Samples~}/TBS_Manager_Template.prefab.meta +7 -7
  48. package/{Samples → Samples~}/Trial_UI_Shatter_Canvas_Shell.prefab +289 -289
  49. package/{Samples → Samples~}/Trial_UI_Shatter_Canvas_Shell.prefab.meta +7 -7
  50. package/{Samples → Samples~}/Trial_UI_Shatter_Canvas_Template.prefab +449 -449
  51. package/{Samples → Samples~}/Trial_UI_Shatter_Canvas_Template.prefab.meta +7 -7
  52. package/{Samples → Samples~}/Triangle Shatter.asset +31 -31
  53. package/{Samples → Samples~}/Triangle Shatter.asset.meta +8 -8
  54. package/{Samples → Samples~}/Truth_Bullet_Menu_Canvas_Shell.prefab +221 -221
  55. package/{Samples → Samples~}/Truth_Bullet_Menu_Canvas_Shell.prefab.meta +7 -7
  56. package/{Samples → Samples~}/Truth_Bullet_Menu_Canvas_Template.prefab +525 -525
  57. package/{Samples → Samples~}/Truth_Bullet_Menu_Canvas_Template.prefab.meta +7 -7
  58. package/{Samples → Samples~}/Truth_Bullet_Menu_Holder_Shell.prefab +38 -38
  59. package/{Samples → Samples~}/Truth_Bullet_Menu_Holder_Shell.prefab.meta +7 -7
  60. package/{Samples → Samples~}/Truth_Bullet_Menu_Holder_Template.prefab +1159 -1159
  61. package/{Samples → Samples~}/Truth_Bullet_Menu_Holder_Template.prefab.meta +7 -7
  62. package/{Samples → Samples~}/Truth_Bullet_Minigame_Canvas_Template.prefab +494 -494
  63. package/{Samples → Samples~}/Truth_Bullet_Minigame_Canvas_Template.prefab.meta +7 -7
  64. package/{Samples → Samples~}/Truth_Bullet_Option_ETemplate.prefab +294 -294
  65. package/{Samples → Samples~}/Truth_Bullet_Option_ETemplate.prefab.meta +7 -7
  66. package/Shattering/BreakTex.renderTexture +39 -39
  67. package/Shattering/BreakTex.renderTexture.meta +8 -8
  68. package/Shattering/BulletShatter.cs +176 -176
  69. package/Shattering/BulletShatter.cs.meta +11 -11
  70. package/Shattering/IShatterableCanvas.cs +20 -20
  71. package/Shattering/IShatterableCanvas.cs.meta +11 -11
  72. package/Shattering/MeshGenerator.cs +178 -178
  73. package/Shattering/MeshGenerator.cs.meta +11 -11
  74. package/Shattering/RenderCanvasOnShatter.cs +47 -47
  75. package/Shattering/RenderCanvasOnShatter.cs.meta +11 -11
  76. package/Shattering/ShatterCameraRender.cs +79 -79
  77. package/Shattering/ShatterCameraRender.cs.meta +11 -11
  78. package/Shattering/ShatterGraphic.cs +135 -135
  79. package/Shattering/ShatterGraphic.cs.meta +11 -11
  80. package/Shattering/ShatterMeshGraphic.cs +304 -304
  81. package/Shattering/ShatterMeshGraphic.cs.meta +11 -11
  82. package/Shattering/ShatterProcess.cs +282 -282
  83. package/Shattering/ShatterProcess.cs.meta +11 -11
  84. package/Shattering/ShatterProcessBase.cs +51 -51
  85. package/Shattering/ShatterProcessBase.cs.meta +11 -11
  86. package/Shattering/ShatterQuad.cs +56 -56
  87. package/Shattering/ShatterQuad.cs.meta +11 -11
  88. package/Shattering/ShatterQuadProcess.cs +65 -65
  89. package/Shattering/ShatterQuadProcess.cs.meta +11 -11
  90. package/Shattering/ShatterShape.cs +84 -84
  91. package/Shattering/ShatterShape.cs.meta +11 -11
  92. package/Shattering/ShatterTri.cs +27 -27
  93. package/Shattering/ShatterTri.cs.meta +11 -11
  94. package/Shattering/ShatterTriProcess.cs +179 -179
  95. package/Shattering/ShatterTriProcess.cs.meta +11 -11
  96. package/Shattering/ShatterWithUI.cs +68 -68
  97. package/Shattering/ShatterWithUI.cs.meta +11 -11
  98. package/Shattering/SplitShatter.cs +114 -114
  99. package/Shattering/SplitShatter.cs.meta +11 -11
  100. package/Shattering/TMPTextShatter.cs +243 -243
  101. package/Shattering/TMPTextShatter.cs.meta +11 -11
  102. package/Shattering/UIBreakVisibility.cs +172 -172
  103. package/Shattering/UIBreakVisibility.cs.meta +11 -11
  104. package/Shattering.meta +8 -8
  105. package/ShuffleUtility.cs +32 -32
  106. package/ShuffleUtility.cs.meta +11 -11
  107. package/SimpleRandom.cs +32 -32
  108. package/SimpleRandom.cs.meta +11 -11
  109. package/Stats/ColorHealthBar.cs +56 -56
  110. package/Stats/ColorHealthBar.cs.meta +11 -11
  111. package/Stats/ColorHealthModifier.cs +138 -138
  112. package/Stats/ColorHealthModifier.cs.meta +11 -11
  113. package/Stats/GaugeHandler.cs +72 -72
  114. package/Stats/GaugeHandler.cs.meta +1 -1
  115. package/Stats/HealthBarModifier.cs +89 -89
  116. package/Stats/HealthBarModifier.cs.meta +11 -11
  117. package/Stats/HealthStat.cs +77 -77
  118. package/Stats/HealthStat.cs.meta +11 -11
  119. package/Stats/HealthStatBase.cs +26 -26
  120. package/Stats/HealthStatBase.cs.meta +11 -11
  121. package/Stats/IGauge.cs +36 -36
  122. package/Stats/IGauge.cs.meta +1 -1
  123. package/Stats/InfluenceGauge.cs +107 -107
  124. package/Stats/InfluenceGauge.cs.meta +11 -11
  125. package/Stats/InfluenceGaugeBase.cs +42 -42
  126. package/Stats/InfluenceGaugeBase.cs.meta +11 -11
  127. package/Stats/SimpleGauge.cs +46 -46
  128. package/Stats/SimpleGauge.cs.meta +1 -1
  129. package/Stats/StaminaHandler.cs +153 -153
  130. package/Stats/StaminaHandler.cs.meta +11 -11
  131. package/Stats/TrialStats.cs +140 -140
  132. package/Stats/TrialStats.cs.meta +11 -11
  133. package/Stats/TrialStatsBase.cs +36 -36
  134. package/Stats/TrialStatsBase.cs.meta +11 -11
  135. package/Stats.meta +8 -8
  136. package/TBS/TBSelectBuilder.cs +59 -59
  137. package/TBS/TBSelectBuilder.cs.meta +11 -11
  138. package/TBS/TBSelectBuilderEditor.cs +166 -166
  139. package/TBS/TBSelectBuilderEditor.cs.meta +11 -11
  140. package/TBS/TBSelectManager.cs +315 -315
  141. package/TBS/TBSelectManager.cs.meta +11 -11
  142. package/TBS/TBSelection.cs +46 -46
  143. package/TBS/TBSelection.cs.meta +11 -11
  144. package/TBS/TrialTruthBulletMenu.cs +24 -24
  145. package/TBS/TrialTruthBulletMenu.cs.meta +11 -11
  146. package/TBS.meta +8 -8
  147. package/ThreadSafeSimpleRandom.cs +29 -29
  148. package/ThreadSafeSimpleRandom.cs.meta +11 -11
  149. package/TimedDifficultyEditor.cs +56 -56
  150. package/TimedDifficultyEditor.cs.meta +11 -11
  151. package/TimedMinigameEditor.cs +31 -31
  152. package/TimedMinigameEditor.cs.meta +11 -11
  153. package/TimerBase.cs +189 -189
  154. package/TimerBase.cs.meta +11 -11
  155. package/TimerDifficulty.cs +45 -45
  156. package/TimerDifficulty.cs.meta +11 -11
  157. package/TrialDialogueMinigame.cs +276 -276
  158. package/TrialDialogueMinigame.cs.meta +11 -11
  159. package/TrialDiscussion.cs +68 -68
  160. package/TrialDiscussion.cs.meta +11 -11
  161. package/TrialTimer.cs +113 -113
  162. package/TrialTimer.cs.meta +11 -11
  163. package/TrialTimerBase.cs +129 -129
  164. package/TrialTimerBase.cs.meta +11 -11
  165. package/package.json +56 -51
  166. package/package.json.meta +7 -7
  167. package/Samples.meta +0 -8
@@ -1,154 +1,154 @@
1
- //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
- using DREditor.EventObjects;
3
- using DREditor.Services;
4
- using UnityEngine;
5
-
6
- namespace DREditor.Minigames.Stats
7
- {
8
- /// <summary>
9
- ///
10
- /// </summary>
11
- [ClassHeader(nameof(GaugeHandler) +
12
- "\n\n")]
13
- public class StaminaHandler : GaugeHandler
14
- {
15
- /// <summary>
16
- ///
17
- /// </summary>
18
- [Header("")]
19
- [Divider]
20
- [Tooltip("")]
21
- [SerializeField] protected BoolWithEvent hasStamina = null;
22
-
23
- /// <summary>
24
- ///
25
- /// </summary>
26
- [Tooltip("")]
27
- [SerializeField] protected float staminaRatio = 2f;
28
-
29
-
30
- /// <summary>
31
- ///
32
- /// </summary>
33
- protected IShatterGraphic shatter;
34
-
35
- /// <summary>
36
- ///
37
- /// </summary>
38
- protected InfluenceGaugeBase influenceGauge;
39
-
40
-
41
- protected virtual void Start()
42
- {
43
- influenceGauge = ServiceLocator.GetService<InfluenceGaugeBase>();
44
-
45
- shatter = transform.root.GetComponentInChildren<IShatterGraphic>();
46
-
47
- shatter?.OnPostShatter?.AddListener(influenceGauge.ResetStamina);
48
- }
49
-
50
- protected virtual void OnDisable() => shatter?.OnPostShatter?.RemoveListener(influenceGauge.ResetStamina);
51
-
52
-
53
- /// <summary>
54
- ///
55
- /// </summary>
56
- protected override void OnGaugeTick()
57
- {
58
- if (CanDrainStamina())
59
- {
60
- TickGauge();
61
-
62
- DrainStaminaVisual();
63
- }
64
- else
65
- UpdateStaminaEmpty();
66
- }
67
-
68
- /// <summary>
69
- ///
70
- /// </summary>
71
- /// <returns></returns>
72
- protected virtual bool CanDrainStamina() => !gauge.IsEmpty;
73
-
74
- /// <inheritdoc/>
75
- protected override float GetTickAmount()
76
- {
77
- if (GaugeShouldTick() && CanDrainStamina())
78
- return (staminaRatio * Time.unscaledDeltaTime) * -1;
79
- else if (!GaugeShouldTick() && CanRestoreStamina())
80
- return staminaRatio * Time.unscaledDeltaTime;
81
-
82
- return 0;
83
- }
84
-
85
- /// <summary>
86
- ///
87
- /// </summary>
88
- protected virtual void DrainStaminaVisual()
89
- {
90
- if (influenceGauge != null)
91
- influenceGauge.DrainStaminaVisual();
92
- }
93
-
94
- /// <summary>
95
- ///
96
- /// </summary>
97
- protected virtual void UpdateStaminaEmpty()
98
- {
99
- if (hasStamina.Value)
100
- hasStamina.SetValue(false);
101
- }
102
-
103
- /// <summary>
104
- ///
105
- /// </summary>
106
- protected override void OnFailedTick()
107
- {
108
- if (CanRestoreStamina())
109
- {
110
- TickGauge();
111
-
112
- RegenStaminaVisual();
113
- }
114
-
115
- if (CanDrainStamina())
116
- UpdateHasStamina();
117
-
118
- CheckBrokenStamina();
119
- }
120
-
121
- /// <summary>
122
- ///
123
- /// </summary>
124
- /// <returns></returns>
125
- protected virtual bool CanRestoreStamina() => !gauge.IsCharged;
126
-
127
- /// <summary>
128
- ///
129
- /// </summary>
130
- protected virtual void UpdateHasStamina()
131
- {
132
- if (!hasStamina.Value)
133
- hasStamina.SetValue(true);
134
- }
135
-
136
- /// <summary>
137
- ///
138
- /// </summary>
139
- protected virtual void RegenStaminaVisual()
140
- {
141
- if (influenceGauge != null)
142
- influenceGauge.RegenStaminaVisual();
143
- }
144
-
145
- /// <summary>
146
- ///
147
- /// </summary>
148
- protected virtual void CheckBrokenStamina()
149
- {
150
- if (gauge.IsCharged && influenceGauge != null && influenceGauge.StaminaVisualWrong())
151
- influenceGauge.RegenStaminaVisual();
152
- }
153
- }
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.EventObjects;
3
+ using DREditor.Services;
4
+ using UnityEngine;
5
+
6
+ namespace DREditor.Minigames.Stats
7
+ {
8
+ /// <summary>
9
+ ///
10
+ /// </summary>
11
+ [ClassHeader(nameof(GaugeHandler) +
12
+ "\n\n")]
13
+ public class StaminaHandler : GaugeHandler
14
+ {
15
+ /// <summary>
16
+ ///
17
+ /// </summary>
18
+ [Header("")]
19
+ [Divider]
20
+ [Tooltip("")]
21
+ [SerializeField] protected BoolWithEvent hasStamina = null;
22
+
23
+ /// <summary>
24
+ ///
25
+ /// </summary>
26
+ [Tooltip("")]
27
+ [SerializeField] protected float staminaRatio = 2f;
28
+
29
+
30
+ /// <summary>
31
+ ///
32
+ /// </summary>
33
+ protected IShatterGraphic shatter;
34
+
35
+ /// <summary>
36
+ ///
37
+ /// </summary>
38
+ protected InfluenceGaugeBase influenceGauge;
39
+
40
+
41
+ protected virtual void Start()
42
+ {
43
+ influenceGauge = ServiceLocator.GetService<InfluenceGaugeBase>();
44
+
45
+ shatter = transform.root.GetComponentInChildren<IShatterGraphic>();
46
+
47
+ shatter?.OnPostShatter?.AddListener(influenceGauge.ResetStamina);
48
+ }
49
+
50
+ protected virtual void OnDisable() => shatter?.OnPostShatter?.RemoveListener(influenceGauge.ResetStamina);
51
+
52
+
53
+ /// <summary>
54
+ ///
55
+ /// </summary>
56
+ protected override void OnGaugeTick()
57
+ {
58
+ if (CanDrainStamina())
59
+ {
60
+ TickGauge();
61
+
62
+ DrainStaminaVisual();
63
+ }
64
+ else
65
+ UpdateStaminaEmpty();
66
+ }
67
+
68
+ /// <summary>
69
+ ///
70
+ /// </summary>
71
+ /// <returns></returns>
72
+ protected virtual bool CanDrainStamina() => !gauge.IsEmpty;
73
+
74
+ /// <inheritdoc/>
75
+ protected override float GetTickAmount()
76
+ {
77
+ if (GaugeShouldTick() && CanDrainStamina())
78
+ return (staminaRatio * Time.unscaledDeltaTime) * -1;
79
+ else if (!GaugeShouldTick() && CanRestoreStamina())
80
+ return staminaRatio * Time.unscaledDeltaTime;
81
+
82
+ return 0;
83
+ }
84
+
85
+ /// <summary>
86
+ ///
87
+ /// </summary>
88
+ protected virtual void DrainStaminaVisual()
89
+ {
90
+ if (influenceGauge != null)
91
+ influenceGauge.DrainStaminaVisual();
92
+ }
93
+
94
+ /// <summary>
95
+ ///
96
+ /// </summary>
97
+ protected virtual void UpdateStaminaEmpty()
98
+ {
99
+ if (hasStamina.Value)
100
+ hasStamina.SetValue(false);
101
+ }
102
+
103
+ /// <summary>
104
+ ///
105
+ /// </summary>
106
+ protected override void OnFailedTick()
107
+ {
108
+ if (CanRestoreStamina())
109
+ {
110
+ TickGauge();
111
+
112
+ RegenStaminaVisual();
113
+ }
114
+
115
+ if (CanDrainStamina())
116
+ UpdateHasStamina();
117
+
118
+ CheckBrokenStamina();
119
+ }
120
+
121
+ /// <summary>
122
+ ///
123
+ /// </summary>
124
+ /// <returns></returns>
125
+ protected virtual bool CanRestoreStamina() => !gauge.IsCharged;
126
+
127
+ /// <summary>
128
+ ///
129
+ /// </summary>
130
+ protected virtual void UpdateHasStamina()
131
+ {
132
+ if (!hasStamina.Value)
133
+ hasStamina.SetValue(true);
134
+ }
135
+
136
+ /// <summary>
137
+ ///
138
+ /// </summary>
139
+ protected virtual void RegenStaminaVisual()
140
+ {
141
+ if (influenceGauge != null)
142
+ influenceGauge.RegenStaminaVisual();
143
+ }
144
+
145
+ /// <summary>
146
+ ///
147
+ /// </summary>
148
+ protected virtual void CheckBrokenStamina()
149
+ {
150
+ if (gauge.IsCharged && influenceGauge != null && influenceGauge.StaminaVisualWrong())
151
+ influenceGauge.RegenStaminaVisual();
152
+ }
153
+ }
154
154
  }
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: f2e93aa966cb25b4c9ad204eb4df8c61
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: f2e93aa966cb25b4c9ad204eb4df8c61
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -1,141 +1,141 @@
1
- //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
- using DREditor.EventObjects;
3
- using DREditor.UIHandling;
4
- using System.Collections;
5
- using UnityEngine;
6
-
7
- namespace DREditor.Minigames.Stats
8
- {
9
- /// <summary>
10
- ///
11
- /// </summary>
12
- [ClassHeader(nameof(TrialStatsBase) +
13
- "\n\n")]
14
- public class TrialStats : TrialStatsBase
15
- {
16
- /// <summary>
17
- ///
18
- /// </summary>
19
- [Tooltip("")]
20
- [SerializeField] protected BoolWithEvent inTrialMinigame = null;
21
-
22
- /// <summary>
23
- ///
24
- /// </summary>
25
- [Tooltip("")]
26
- [SerializeField] protected UIVisibilityComponent statsUI = null;
27
-
28
- /// <summary>
29
- ///
30
- /// </summary>
31
- [Tooltip("")]
32
- [SerializeField] protected HealthStatBase healthStat = null;
33
-
34
- /// <summary>
35
- ///
36
- /// </summary>
37
- [Tooltip("")]
38
- [SerializeField] protected float gameOverResetBufferTime = 2;
39
-
40
-
41
- /// <summary>
42
- ///
43
- /// </summary>
44
- [Header("")]
45
- [Divider]
46
- [Tooltip("")]
47
- [SerializeField] protected bool visible = false;
48
-
49
- /// <summary>
50
- ///
51
- /// </summary>
52
- [Tooltip("")]
53
- [SerializeField] protected bool isTransitioning = false;
54
-
55
-
56
- protected virtual void OnEnable() => inTrialMinigame.AddListener(InMinigameUpdated);
57
-
58
- protected virtual void OnDisable() => inTrialMinigame.RemoveListener(InMinigameUpdated);
59
-
60
- /// <summary>
61
- ///
62
- /// </summary>
63
- /// <param name="inMinigame"></param>
64
- protected virtual void InMinigameUpdated(bool inMinigame)
65
- {
66
- if (!inMinigame)
67
- HideTrialStats();
68
- }
69
-
70
-
71
- /// <inheritdoc/>
72
- public override void ShowTrialStats() => SetStatsVisibility(true);
73
-
74
- /// <inheritdoc/>
75
- public override void HideTrialStats() => SetStatsVisibility(false);
76
-
77
- /// <summary>
78
- ///
79
- /// </summary>
80
- /// <param name="targetVisible"></param>
81
- protected virtual void SetStatsVisibility(bool targetVisible)
82
- {
83
- if (visible == targetVisible && !isTransitioning)
84
- return;
85
-
86
- visible = targetVisible;
87
-
88
- StartCoroutine(TransitionProcess(targetVisible));
89
- }
90
-
91
- /// <summary>
92
- ///
93
- /// </summary>
94
- /// <param name="targetVisible"></param>
95
- protected virtual IEnumerator TransitionProcess(bool targetVisible)
96
- {
97
- if (isTransitioning)
98
- yield return statsUI.WaitForChangeToComplete();
99
-
100
- isTransitioning = true;
101
-
102
- if (targetVisible)
103
- healthStat.Refresh();
104
-
105
- yield return targetVisible ? statsUI.ShowTillComplete() : statsUI.HideTillComplete();
106
-
107
- isTransitioning = false;
108
- }
109
-
110
-
111
- /// <inheritdoc/>
112
- public override void TakeDamage(float damage = 0)
113
- {
114
- ShowTrialStats();
115
-
116
- healthStat.TakeDamage(damage);
117
- }
118
-
119
-
120
- /// <inheritdoc/>
121
- public override IEnumerator GameOverResetProcess()
122
- {
123
- ShowTrialStats();
124
-
125
- healthStat.ResetHealth();
126
-
127
- yield return new WaitForSeconds(gameOverResetBufferTime);
128
-
129
- HideTrialStats();
130
- }
131
-
132
- /// <inheritdoc/>
133
- public override IEnumerator WaitForTweenToFinish()
134
- {
135
- if (isTransitioning)
136
- yield return statsUI.WaitForChangeToComplete();
137
-
138
- yield return new WaitUntil(() => !isTransitioning);
139
- }
140
- }
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.EventObjects;
3
+ using DREditor.UIHandling;
4
+ using System.Collections;
5
+ using UnityEngine;
6
+
7
+ namespace DREditor.Minigames.Stats
8
+ {
9
+ /// <summary>
10
+ ///
11
+ /// </summary>
12
+ [ClassHeader(nameof(TrialStatsBase) +
13
+ "\n\n")]
14
+ public class TrialStats : TrialStatsBase
15
+ {
16
+ /// <summary>
17
+ ///
18
+ /// </summary>
19
+ [Tooltip("")]
20
+ [SerializeField] protected BoolWithEvent inTrialMinigame = null;
21
+
22
+ /// <summary>
23
+ ///
24
+ /// </summary>
25
+ [Tooltip("")]
26
+ [SerializeField] protected UIVisibilityComponent statsUI = null;
27
+
28
+ /// <summary>
29
+ ///
30
+ /// </summary>
31
+ [Tooltip("")]
32
+ [SerializeField] protected HealthStatBase healthStat = null;
33
+
34
+ /// <summary>
35
+ ///
36
+ /// </summary>
37
+ [Tooltip("")]
38
+ [SerializeField] protected float gameOverResetBufferTime = 2;
39
+
40
+
41
+ /// <summary>
42
+ ///
43
+ /// </summary>
44
+ [Header("")]
45
+ [Divider]
46
+ [Tooltip("")]
47
+ [SerializeField] protected bool visible = false;
48
+
49
+ /// <summary>
50
+ ///
51
+ /// </summary>
52
+ [Tooltip("")]
53
+ [SerializeField] protected bool isTransitioning = false;
54
+
55
+
56
+ protected virtual void OnEnable() => inTrialMinigame.AddListener(InMinigameUpdated);
57
+
58
+ protected virtual void OnDisable() => inTrialMinigame.RemoveListener(InMinigameUpdated);
59
+
60
+ /// <summary>
61
+ ///
62
+ /// </summary>
63
+ /// <param name="inMinigame"></param>
64
+ protected virtual void InMinigameUpdated(bool inMinigame)
65
+ {
66
+ if (!inMinigame)
67
+ HideTrialStats();
68
+ }
69
+
70
+
71
+ /// <inheritdoc/>
72
+ public override void ShowTrialStats() => SetStatsVisibility(true);
73
+
74
+ /// <inheritdoc/>
75
+ public override void HideTrialStats() => SetStatsVisibility(false);
76
+
77
+ /// <summary>
78
+ ///
79
+ /// </summary>
80
+ /// <param name="targetVisible"></param>
81
+ protected virtual void SetStatsVisibility(bool targetVisible)
82
+ {
83
+ if (visible == targetVisible && !isTransitioning)
84
+ return;
85
+
86
+ visible = targetVisible;
87
+
88
+ StartCoroutine(TransitionProcess(targetVisible));
89
+ }
90
+
91
+ /// <summary>
92
+ ///
93
+ /// </summary>
94
+ /// <param name="targetVisible"></param>
95
+ protected virtual IEnumerator TransitionProcess(bool targetVisible)
96
+ {
97
+ if (isTransitioning)
98
+ yield return statsUI.WaitForChangeToComplete();
99
+
100
+ isTransitioning = true;
101
+
102
+ if (targetVisible)
103
+ healthStat.Refresh();
104
+
105
+ yield return targetVisible ? statsUI.ShowTillComplete() : statsUI.HideTillComplete();
106
+
107
+ isTransitioning = false;
108
+ }
109
+
110
+
111
+ /// <inheritdoc/>
112
+ public override void TakeDamage(float damage = 0)
113
+ {
114
+ ShowTrialStats();
115
+
116
+ healthStat.TakeDamage(damage);
117
+ }
118
+
119
+
120
+ /// <inheritdoc/>
121
+ public override IEnumerator GameOverResetProcess()
122
+ {
123
+ ShowTrialStats();
124
+
125
+ healthStat.ResetHealth();
126
+
127
+ yield return new WaitForSeconds(gameOverResetBufferTime);
128
+
129
+ HideTrialStats();
130
+ }
131
+
132
+ /// <inheritdoc/>
133
+ public override IEnumerator WaitForTweenToFinish()
134
+ {
135
+ if (isTransitioning)
136
+ yield return statsUI.WaitForChangeToComplete();
137
+
138
+ yield return new WaitUntil(() => !isTransitioning);
139
+ }
140
+ }
141
141
  }
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: cd1014a0f0b337e46b7d2db211195347
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: cd1014a0f0b337e46b7d2db211195347
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant: