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.
- package/.attestation.p7m +0 -0
- package/BulletDifficulty.cs +36 -36
- package/BulletDifficulty.cs.meta +11 -11
- package/BulletDifficultyEditor.cs +380 -380
- package/BulletDifficultyEditor.cs.meta +11 -11
- package/DREditor.Minigames.asmdef +36 -36
- package/DREditor.Minigames.asmdef.meta +7 -7
- package/DifficultyEditorBase.cs +60 -60
- package/DifficultyEditorBase.cs.meta +11 -11
- package/IShatterGraphic.cs +32 -32
- package/IShatterGraphic.cs.meta +11 -11
- package/IShatterText.cs +33 -33
- package/IShatterText.cs.meta +11 -11
- package/InitializeTrialOffsets.cs +51 -51
- package/InitializeTrialOffsets.cs.meta +11 -11
- package/MinigameBuilderBase.cs +28 -28
- package/MinigameBuilderBase.cs.meta +11 -11
- package/MinigameControlsUIHandler.cs +94 -94
- package/MinigameControlsUIHandler.cs.meta +11 -11
- package/MinigameManagerBase.cs +197 -197
- package/MinigameManagerBase.cs.meta +11 -11
- package/QuestionToggle.cs +154 -154
- package/QuestionToggle.cs.meta +11 -11
- package/RestoreControlsUIPostDialogue.cs +100 -100
- package/RestoreControlsUIPostDialogue.cs.meta +1 -1
- package/{Samples → Samples~}/Bullet Shatter Mesh Generator.asset +23 -23
- package/{Samples → Samples~}/Bullet Shatter Mesh Generator.asset.meta +8 -8
- package/{Samples → Samples~}/HasStamina.asset +21 -21
- package/{Samples → Samples~}/HasStamina.asset.meta +8 -8
- package/{Samples → Samples~}/IsDrainingStamina.asset +21 -21
- package/{Samples → Samples~}/IsDrainingStamina.asset.meta +8 -8
- package/{Samples → Samples~}/MinigameInputAllowed.asset +21 -21
- package/{Samples → Samples~}/MinigameInputAllowed.asset.meta +8 -8
- package/{Samples → Samples~}/Minigame_Controls_UI_Handler.prefab +53 -53
- package/{Samples → Samples~}/Minigame_Controls_UI_Handler.prefab.meta +7 -7
- package/{Samples → Samples~}/Quad Shatter.asset +31 -31
- package/{Samples → Samples~}/Quad Shatter.asset.meta +8 -8
- package/{Samples → Samples~}/ShatterCameraEnabled.asset +21 -21
- package/{Samples → Samples~}/ShatterCameraEnabled.asset.meta +8 -8
- package/{Samples → Samples~}/Shatter_Graphic.prefab +98 -98
- package/{Samples → Samples~}/Shatter_Graphic.prefab.meta +7 -7
- package/{Samples → Samples~}/Stamina_Handler.prefab +59 -59
- package/{Samples → Samples~}/Stamina_Handler.prefab.meta +7 -7
- package/{Samples → Samples~}/TBS_Manager_Shell.prefab +60 -60
- package/{Samples → Samples~}/TBS_Manager_Shell.prefab.meta +7 -7
- package/{Samples → Samples~}/TBS_Manager_Template.prefab +504 -504
- package/{Samples → Samples~}/TBS_Manager_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Trial_UI_Shatter_Canvas_Shell.prefab +289 -289
- package/{Samples → Samples~}/Trial_UI_Shatter_Canvas_Shell.prefab.meta +7 -7
- package/{Samples → Samples~}/Trial_UI_Shatter_Canvas_Template.prefab +449 -449
- package/{Samples → Samples~}/Trial_UI_Shatter_Canvas_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Triangle Shatter.asset +31 -31
- package/{Samples → Samples~}/Triangle Shatter.asset.meta +8 -8
- package/{Samples → Samples~}/Truth_Bullet_Menu_Canvas_Shell.prefab +221 -221
- package/{Samples → Samples~}/Truth_Bullet_Menu_Canvas_Shell.prefab.meta +7 -7
- package/{Samples → Samples~}/Truth_Bullet_Menu_Canvas_Template.prefab +525 -525
- package/{Samples → Samples~}/Truth_Bullet_Menu_Canvas_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Truth_Bullet_Menu_Holder_Shell.prefab +38 -38
- package/{Samples → Samples~}/Truth_Bullet_Menu_Holder_Shell.prefab.meta +7 -7
- package/{Samples → Samples~}/Truth_Bullet_Menu_Holder_Template.prefab +1159 -1159
- package/{Samples → Samples~}/Truth_Bullet_Menu_Holder_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Truth_Bullet_Minigame_Canvas_Template.prefab +494 -494
- package/{Samples → Samples~}/Truth_Bullet_Minigame_Canvas_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Truth_Bullet_Option_ETemplate.prefab +294 -294
- package/{Samples → Samples~}/Truth_Bullet_Option_ETemplate.prefab.meta +7 -7
- package/Shattering/BreakTex.renderTexture +39 -39
- package/Shattering/BreakTex.renderTexture.meta +8 -8
- package/Shattering/BulletShatter.cs +176 -176
- package/Shattering/BulletShatter.cs.meta +11 -11
- package/Shattering/IShatterableCanvas.cs +20 -20
- package/Shattering/IShatterableCanvas.cs.meta +11 -11
- package/Shattering/MeshGenerator.cs +178 -178
- package/Shattering/MeshGenerator.cs.meta +11 -11
- package/Shattering/RenderCanvasOnShatter.cs +47 -47
- package/Shattering/RenderCanvasOnShatter.cs.meta +11 -11
- package/Shattering/ShatterCameraRender.cs +79 -79
- package/Shattering/ShatterCameraRender.cs.meta +11 -11
- package/Shattering/ShatterGraphic.cs +135 -135
- package/Shattering/ShatterGraphic.cs.meta +11 -11
- package/Shattering/ShatterMeshGraphic.cs +304 -304
- package/Shattering/ShatterMeshGraphic.cs.meta +11 -11
- package/Shattering/ShatterProcess.cs +282 -282
- package/Shattering/ShatterProcess.cs.meta +11 -11
- package/Shattering/ShatterProcessBase.cs +51 -51
- package/Shattering/ShatterProcessBase.cs.meta +11 -11
- package/Shattering/ShatterQuad.cs +56 -56
- package/Shattering/ShatterQuad.cs.meta +11 -11
- package/Shattering/ShatterQuadProcess.cs +65 -65
- package/Shattering/ShatterQuadProcess.cs.meta +11 -11
- package/Shattering/ShatterShape.cs +84 -84
- package/Shattering/ShatterShape.cs.meta +11 -11
- package/Shattering/ShatterTri.cs +27 -27
- package/Shattering/ShatterTri.cs.meta +11 -11
- package/Shattering/ShatterTriProcess.cs +179 -179
- package/Shattering/ShatterTriProcess.cs.meta +11 -11
- package/Shattering/ShatterWithUI.cs +68 -68
- package/Shattering/ShatterWithUI.cs.meta +11 -11
- package/Shattering/SplitShatter.cs +114 -114
- package/Shattering/SplitShatter.cs.meta +11 -11
- package/Shattering/TMPTextShatter.cs +243 -243
- package/Shattering/TMPTextShatter.cs.meta +11 -11
- package/Shattering/UIBreakVisibility.cs +172 -172
- package/Shattering/UIBreakVisibility.cs.meta +11 -11
- package/Shattering.meta +8 -8
- package/ShuffleUtility.cs +32 -32
- package/ShuffleUtility.cs.meta +11 -11
- package/SimpleRandom.cs +32 -32
- package/SimpleRandom.cs.meta +11 -11
- package/Stats/ColorHealthBar.cs +56 -56
- package/Stats/ColorHealthBar.cs.meta +11 -11
- package/Stats/ColorHealthModifier.cs +138 -138
- package/Stats/ColorHealthModifier.cs.meta +11 -11
- package/Stats/GaugeHandler.cs +72 -72
- package/Stats/GaugeHandler.cs.meta +1 -1
- package/Stats/HealthBarModifier.cs +89 -89
- package/Stats/HealthBarModifier.cs.meta +11 -11
- package/Stats/HealthStat.cs +77 -77
- package/Stats/HealthStat.cs.meta +11 -11
- package/Stats/HealthStatBase.cs +26 -26
- package/Stats/HealthStatBase.cs.meta +11 -11
- package/Stats/IGauge.cs +36 -36
- package/Stats/IGauge.cs.meta +1 -1
- package/Stats/InfluenceGauge.cs +107 -107
- package/Stats/InfluenceGauge.cs.meta +11 -11
- package/Stats/InfluenceGaugeBase.cs +42 -42
- package/Stats/InfluenceGaugeBase.cs.meta +11 -11
- package/Stats/SimpleGauge.cs +46 -46
- package/Stats/SimpleGauge.cs.meta +1 -1
- package/Stats/StaminaHandler.cs +153 -153
- package/Stats/StaminaHandler.cs.meta +11 -11
- package/Stats/TrialStats.cs +140 -140
- package/Stats/TrialStats.cs.meta +11 -11
- package/Stats/TrialStatsBase.cs +36 -36
- package/Stats/TrialStatsBase.cs.meta +11 -11
- package/Stats.meta +8 -8
- package/TBS/TBSelectBuilder.cs +59 -59
- package/TBS/TBSelectBuilder.cs.meta +11 -11
- package/TBS/TBSelectBuilderEditor.cs +166 -166
- package/TBS/TBSelectBuilderEditor.cs.meta +11 -11
- package/TBS/TBSelectManager.cs +315 -315
- package/TBS/TBSelectManager.cs.meta +11 -11
- package/TBS/TBSelection.cs +46 -46
- package/TBS/TBSelection.cs.meta +11 -11
- package/TBS/TrialTruthBulletMenu.cs +24 -24
- package/TBS/TrialTruthBulletMenu.cs.meta +11 -11
- package/TBS.meta +8 -8
- package/ThreadSafeSimpleRandom.cs +29 -29
- package/ThreadSafeSimpleRandom.cs.meta +11 -11
- package/TimedDifficultyEditor.cs +56 -56
- package/TimedDifficultyEditor.cs.meta +11 -11
- package/TimedMinigameEditor.cs +31 -31
- package/TimedMinigameEditor.cs.meta +11 -11
- package/TimerBase.cs +189 -189
- package/TimerBase.cs.meta +11 -11
- package/TimerDifficulty.cs +45 -45
- package/TimerDifficulty.cs.meta +11 -11
- package/TrialDialogueMinigame.cs +276 -276
- package/TrialDialogueMinigame.cs.meta +11 -11
- package/TrialDiscussion.cs +68 -68
- package/TrialDiscussion.cs.meta +11 -11
- package/TrialTimer.cs +113 -113
- package/TrialTimer.cs.meta +11 -11
- package/TrialTimerBase.cs +129 -129
- package/TrialTimerBase.cs.meta +11 -11
- package/package.json +56 -51
- package/package.json.meta +7 -7
- package/Samples.meta +0 -8
package/Stats/StaminaHandler.cs
CHANGED
|
@@ -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:
|
package/Stats/TrialStats.cs
CHANGED
|
@@ -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
|
}
|
package/Stats/TrialStats.cs.meta
CHANGED
|
@@ -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:
|