net.dreditor.actors 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/Actor.cs +74 -74
- package/Actor.cs.meta +11 -11
- package/ActorBodyDebugger.cs +117 -117
- package/ActorBodyDebugger.cs.meta +13 -13
- package/ActorManager.cs +149 -149
- package/ActorManager.cs.meta +11 -11
- package/ActorOrganizer.cs +93 -93
- package/ActorOrganizer.cs.meta +11 -11
- package/BasicExpressionChanger.cs +157 -157
- package/BasicExpressionChanger.cs.meta +11 -11
- package/BasicLayerHandler.cs +108 -108
- package/BasicLayerHandler.cs.meta +11 -11
- package/DREditor.Actors.asmdef +20 -20
- package/DREditor.Actors.asmdef.meta +7 -7
- package/Editor/AssignmentStyleGUIEditor.cs +171 -171
- package/Editor/AssignmentStyleGUIEditor.cs.meta +1 -1
- package/Editor/AutoCreateCharacterWizard.cs +475 -475
- package/Editor/AutoCreateCharacterWizard.cs.meta +11 -11
- package/Editor/AutoCreateTrialCharacterWizard.cs +426 -426
- package/Editor/AutoCreateTrialCharacterWizard.cs.meta +1 -1
- package/Editor/CharacterUtility.cs +119 -119
- package/Editor/CharacterUtility.cs.meta +11 -11
- package/Editor/CircleDrawer.cs +206 -206
- package/Editor/CircleDrawer.cs.meta +1 -1
- package/Editor/CircleUtility.cs +54 -54
- package/Editor/CircleUtility.cs.meta +1 -1
- package/Editor/DREditor.Actors.Editor.asmdef +21 -21
- package/Editor/DREditor.Actors.Editor.asmdef.meta +7 -7
- package/Editor/GenerateCharacterIntroDialogues.cs +234 -234
- package/Editor/GenerateCharacterIntroDialogues.cs.meta +11 -11
- package/Editor/IItemImporter.cs +19 -19
- package/Editor/IItemImporter.cs.meta +1 -1
- package/Editor/ItemImporter.cs +170 -170
- package/Editor/ItemImporter.cs.meta +1 -1
- package/Editor/ItemUtility.cs +85 -85
- package/Editor/ItemUtility.cs.meta +11 -11
- package/Editor/ItemWizard.cs +41 -41
- package/Editor/ItemWizard.cs.meta +11 -11
- package/Editor.meta +8 -8
- package/Events/ActorCheckFocusEvent.cs +49 -49
- package/Events/ActorCheckFocusEvent.cs.meta +11 -11
- package/Events/ActorFadeEvent.cs +19 -19
- package/Events/ActorFadeEvent.cs.meta +11 -11
- package/Events/ActorFadeHandler.cs +53 -53
- package/Events/ActorFadeHandler.cs.meta +11 -11
- package/Events/ActorFaintEvent.cs +282 -282
- package/Events/ActorFaintEvent.cs.meta +11 -11
- package/Events/ActorFaintEventRenderQ.cs +65 -65
- package/Events/ActorFaintEventRenderQ.cs.meta +11 -11
- package/Events/ActorLeaveHandler.cs +238 -238
- package/Events/ActorLeaveHandler.cs.meta +11 -11
- package/Events/ActorSpriteFader.cs +190 -190
- package/Events/ActorSpriteFader.cs.meta +11 -11
- package/Events/ActorSpriteFaderRenderQ.cs +49 -49
- package/Events/ActorSpriteFaderRenderQ.cs.meta +11 -11
- package/Events/BSTrialActorFlash.cs +259 -259
- package/Events/BSTrialActorFlash.cs.meta +11 -11
- package/Events/ChangeLastFocusEvent.cs +62 -62
- package/Events/ChangeLastFocusEvent.cs.meta +11 -11
- package/Events/MoveCharacterEvent.cs +141 -141
- package/Events/MoveCharacterEvent.cs.meta +11 -11
- package/Events.meta +8 -8
- package/ExpressionChanger.cs +25 -25
- package/ExpressionChanger.cs.meta +11 -11
- package/FocusHandler.cs +96 -96
- package/FocusHandler.cs.meta +11 -11
- package/Implementation/ActorFocusHandler.cs +195 -195
- package/Implementation/ActorFocusHandler.cs.meta +11 -11
- package/Implementation/ActorFocusLoadEnd.cs +108 -108
- package/Implementation/ActorFocusLoadEnd.cs.meta +11 -11
- package/Implementation/ActorFocusPrepare.cs +102 -102
- package/Implementation/ActorFocusPrepare.cs.meta +11 -11
- package/Implementation/ActorFocusResolve.cs +67 -67
- package/Implementation/ActorFocusResolve.cs.meta +11 -11
- package/Implementation/ActorSpriteChanger.cs +129 -129
- package/Implementation/ActorSpriteChanger.cs.meta +11 -11
- package/Implementation/ActorTrialSpriteChanger.cs +46 -46
- package/Implementation/ActorTrialSpriteChanger.cs.meta +11 -11
- package/Implementation/ChangeLastSpriteEvent.cs +92 -92
- package/Implementation/ChangeLastSpriteEvent.cs.meta +11 -11
- package/Implementation/WorldSpriteChanger.cs +207 -207
- package/Implementation/WorldSpriteChanger.cs.meta +11 -11
- package/Implementation.meta +8 -8
- package/LayerHandler.cs +30 -30
- package/LayerHandler.cs.meta +11 -11
- package/{Samples → Samples~}/Actor.prefab +581 -581
- package/{Samples → Samples~}/Actor.prefab.meta +7 -7
- package/{Samples → Samples~}/Actor_Body_Debugger.prefab +68 -68
- package/{Samples → Samples~}/Actor_Body_Debugger.prefab.meta +7 -7
- package/{Samples → Samples~}/Actor_Check_Focus_Event.prefab +47 -47
- package/{Samples → Samples~}/Actor_Check_Focus_Event.prefab.meta +7 -7
- package/{Samples → Samples~}/Actor_Event_Handlers.prefab +668 -668
- package/{Samples → Samples~}/Actor_Event_Handlers.prefab.meta +7 -7
- package/{Samples → Samples~}/Actor_Fade_Handler.prefab +137 -137
- package/{Samples → Samples~}/Actor_Fade_Handler.prefab.meta +7 -7
- package/{Samples → Samples~}/Actor_Fade_Handler_Render_Q.prefab +137 -137
- package/{Samples → Samples~}/Actor_Fade_Handler_Render_Q.prefab.meta +7 -7
- package/{Samples → Samples~}/Actor_Faint_Event.prefab +71 -71
- package/{Samples → Samples~}/Actor_Faint_Event.prefab.meta +7 -7
- package/{Samples → Samples~}/Actor_Faint_Event_Render_Q.prefab +73 -73
- package/{Samples → Samples~}/Actor_Faint_Event_Render_Q.prefab.meta +7 -7
- package/{Samples → Samples~}/Actor_Focus_Handler.prefab +168 -168
- package/{Samples → Samples~}/Actor_Focus_Handler.prefab.meta +7 -7
- package/{Samples → Samples~}/Actor_Focus_Handler_Shell.prefab +56 -56
- package/{Samples → Samples~}/Actor_Focus_Handler_Shell.prefab.meta +7 -7
- package/{Samples → Samples~}/Actor_Focus_Load_End.prefab +66 -66
- package/{Samples → Samples~}/Actor_Focus_Load_End.prefab.meta +7 -7
- package/{Samples → Samples~}/Actor_Focus_Prepare.prefab +49 -49
- package/{Samples → Samples~}/Actor_Focus_Prepare.prefab.meta +7 -7
- package/{Samples → Samples~}/Actor_Focus_Resolve.prefab +48 -48
- package/{Samples → Samples~}/Actor_Focus_Resolve.prefab.meta +7 -7
- package/{Samples → Samples~}/Actor_Leave_Handler.prefab +141 -141
- package/{Samples → Samples~}/Actor_Leave_Handler.prefab.meta +7 -7
- package/{Samples → Samples~}/Actor_Leave_Handler_Render_Q.prefab +141 -141
- package/{Samples → Samples~}/Actor_Leave_Handler_Render_Q.prefab.meta +7 -7
- package/{Samples → Samples~}/Actor_Organizer.prefab +49 -49
- package/{Samples → Samples~}/Actor_Organizer.prefab.meta +7 -7
- package/{Samples → Samples~}/Actor_Sprite_Changer.prefab +163 -163
- package/{Samples → Samples~}/Actor_Sprite_Changer.prefab.meta +7 -7
- package/{Samples → Samples~}/Actor_Sprite_Changer_Shell.prefab +51 -51
- package/{Samples → Samples~}/Actor_Sprite_Changer_Shell.prefab.meta +7 -7
- package/{Samples → Samples~}/Actor_Sprite_Fader.prefab +52 -52
- package/{Samples → Samples~}/Actor_Sprite_Fader.prefab.meta +7 -7
- package/{Samples → Samples~}/Actor_Sprite_Fader_Render_Q.prefab +54 -54
- package/{Samples → Samples~}/Actor_Sprite_Fader_Render_Q.prefab.meta +7 -7
- package/{Samples → Samples~}/Actor_Trial_Sprite_Changer.prefab +47 -47
- package/{Samples → Samples~}/Actor_Trial_Sprite_Changer.prefab.meta +7 -7
- package/{Samples → Samples~}/Change_Last_Focus_Event.prefab +66 -66
- package/{Samples → Samples~}/Change_Last_Focus_Event.prefab.meta +7 -7
- package/{Samples → Samples~}/Change_Last_Sprite_Event.prefab +49 -49
- package/{Samples → Samples~}/Change_Last_Sprite_Event.prefab.meta +7 -7
- package/{Samples → Samples~}/Change_Last_World_Sprite_Event.prefab +186 -186
- package/{Samples → Samples~}/Change_Last_World_Sprite_Event.prefab.meta +7 -7
- package/{Samples → Samples~}/Focus_Handler.prefab +49 -49
- package/{Samples → Samples~}/Focus_Handler.prefab.meta +7 -7
- package/{Samples → Samples~}/Move_Character_Event.prefab +51 -51
- package/{Samples → Samples~}/Move_Character_Event.prefab.meta +7 -7
- package/{Samples → Samples~}/World_Sprite_Changer.prefab +51 -51
- package/{Samples → Samples~}/World_Sprite_Changer.prefab.meta +7 -7
- package/package.json +43 -38
- package/package.json.meta +7 -7
- package/Samples.meta +0 -8
|
@@ -1,283 +1,283 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
#if DOTWEEN
|
|
3
|
-
using DG.Tweening;
|
|
4
|
-
#endif
|
|
5
|
-
using DREditor.DialogueEventHandling;
|
|
6
|
-
using DREditor.Dialogues.Events;
|
|
7
|
-
using DREditor.Dialogues.LineReading;
|
|
8
|
-
using DREditor.EventObjects;
|
|
9
|
-
using System.Collections;
|
|
10
|
-
using UnityEngine;
|
|
11
|
-
|
|
12
|
-
namespace DREditor.Actors.Events
|
|
13
|
-
{
|
|
14
|
-
/// <summary>
|
|
15
|
-
///
|
|
16
|
-
/// </summary>
|
|
17
|
-
[ClassHeader(nameof(DialogueEventHandler) + ", " + nameof(ITweenWaiter) +
|
|
18
|
-
"\n\n")]
|
|
19
|
-
public class ActorFaintEvent : DialogueEventHandler, ITweenWaiter
|
|
20
|
-
{
|
|
21
|
-
#region Fields
|
|
22
|
-
|
|
23
|
-
/// <summary>
|
|
24
|
-
///
|
|
25
|
-
/// </summary>
|
|
26
|
-
[Header("")]
|
|
27
|
-
[Divider]
|
|
28
|
-
[Tooltip("")]
|
|
29
|
-
[SerializeField] protected SelectableObjectWithEvent currentActor = null;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
/// <summary>
|
|
33
|
-
///
|
|
34
|
-
/// </summary>
|
|
35
|
-
[Header("")]
|
|
36
|
-
[Divider]
|
|
37
|
-
[Tooltip("")]
|
|
38
|
-
[SerializeField] protected float divideYPos = 2;
|
|
39
|
-
|
|
40
|
-
/// <summary>
|
|
41
|
-
///
|
|
42
|
-
/// </summary>
|
|
43
|
-
[Tooltip("")]
|
|
44
|
-
[SerializeField] protected float fallDownDuration = 1.5f;
|
|
45
|
-
|
|
46
|
-
/// <summary>
|
|
47
|
-
///
|
|
48
|
-
/// </summary>
|
|
49
|
-
[Tooltip("")]
|
|
50
|
-
[SerializeField] protected float fallDownWaitTime = 1f;
|
|
51
|
-
|
|
52
|
-
/// <summary>
|
|
53
|
-
///
|
|
54
|
-
/// </summary>
|
|
55
|
-
[Tooltip("")]
|
|
56
|
-
[Range(0f, 1f)]
|
|
57
|
-
[SerializeField] protected float actorSpriteFallDownToValue = 0;
|
|
58
|
-
|
|
59
|
-
/// <summary>
|
|
60
|
-
///
|
|
61
|
-
/// </summary>
|
|
62
|
-
[Tooltip("")]
|
|
63
|
-
[SerializeField] protected float actorSpriteFallDownDuration = 0.5f;
|
|
64
|
-
|
|
65
|
-
/// <summary>
|
|
66
|
-
///
|
|
67
|
-
/// </summary>
|
|
68
|
-
[Tooltip("")]
|
|
69
|
-
[SerializeField] protected float actorSpriteFallWaitTime = 0.3f;
|
|
70
|
-
#if DOTWEEN
|
|
71
|
-
/// <summary>
|
|
72
|
-
///
|
|
73
|
-
/// </summary>
|
|
74
|
-
[Tooltip("")]
|
|
75
|
-
[SerializeField] protected Ease fallDownEase = Ease.InExpo;
|
|
76
|
-
#endif
|
|
77
|
-
/// <summary>
|
|
78
|
-
///
|
|
79
|
-
/// </summary>
|
|
80
|
-
[Tooltip("")]
|
|
81
|
-
[SerializeField] protected float characterYDiff = 5;
|
|
82
|
-
|
|
83
|
-
/// <summary>
|
|
84
|
-
///
|
|
85
|
-
/// </summary>
|
|
86
|
-
[Tooltip("")]
|
|
87
|
-
[SerializeField] protected float teleportTime = 0;
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
/// <summary>
|
|
91
|
-
///
|
|
92
|
-
/// </summary>
|
|
93
|
-
[Header("")]
|
|
94
|
-
[Divider]
|
|
95
|
-
[Tooltip("")]
|
|
96
|
-
[SerializeField] protected float shakeDuration = 0.5f;
|
|
97
|
-
|
|
98
|
-
/// <summary>
|
|
99
|
-
///
|
|
100
|
-
/// </summary>
|
|
101
|
-
[Tooltip("")]
|
|
102
|
-
[SerializeField] protected float shakeStrength = 0.5f;
|
|
103
|
-
|
|
104
|
-
/// <summary>
|
|
105
|
-
///
|
|
106
|
-
/// </summary>
|
|
107
|
-
[Tooltip("")]
|
|
108
|
-
[SerializeField] protected int shakeVibrato = 15;
|
|
109
|
-
|
|
110
|
-
/// <summary>
|
|
111
|
-
///
|
|
112
|
-
/// </summary>
|
|
113
|
-
[Tooltip("")]
|
|
114
|
-
[SerializeField] protected float shakeRandomness = 0;
|
|
115
|
-
|
|
116
|
-
/// <summary>
|
|
117
|
-
///
|
|
118
|
-
/// </summary>
|
|
119
|
-
[Tooltip("")]
|
|
120
|
-
[SerializeField] protected bool shakeFadeOut = true;
|
|
121
|
-
|
|
122
|
-
/// <summary>
|
|
123
|
-
///
|
|
124
|
-
/// </summary>
|
|
125
|
-
[Tooltip("")]
|
|
126
|
-
[SerializeField] protected float shakeWaitTime = 0.3f;
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
/// <summary>
|
|
130
|
-
///
|
|
131
|
-
/// </summary>
|
|
132
|
-
[Header("")]
|
|
133
|
-
[Divider]
|
|
134
|
-
[Tooltip("")]
|
|
135
|
-
[Range(0f, 1f)]
|
|
136
|
-
[SerializeField] protected float unFaintSetSpriteFadeTo = 0;
|
|
137
|
-
|
|
138
|
-
/// <summary>
|
|
139
|
-
///
|
|
140
|
-
/// </summary>
|
|
141
|
-
[Tooltip("")]
|
|
142
|
-
[SerializeField] protected float unFaintSetSpriteFadeDuration = 0;
|
|
143
|
-
|
|
144
|
-
/// <summary>
|
|
145
|
-
///
|
|
146
|
-
/// </summary>
|
|
147
|
-
[Tooltip("")]
|
|
148
|
-
[SerializeField] protected float unFaintYPosDuration = 1.5f;
|
|
149
|
-
|
|
150
|
-
/// <summary>
|
|
151
|
-
///
|
|
152
|
-
/// </summary>
|
|
153
|
-
[Tooltip("")]
|
|
154
|
-
[SerializeField] protected float unFaintYPosWaitTime = 1f;
|
|
155
|
-
|
|
156
|
-
/// <summary>
|
|
157
|
-
///
|
|
158
|
-
/// </summary>
|
|
159
|
-
[Tooltip("")]
|
|
160
|
-
[Range(0f, 1f)]
|
|
161
|
-
[SerializeField] protected float unFaintSpriteToValue = 1f;
|
|
162
|
-
|
|
163
|
-
/// <summary>
|
|
164
|
-
///
|
|
165
|
-
/// </summary>
|
|
166
|
-
[Tooltip("")]
|
|
167
|
-
[SerializeField] protected float unFaintSpriteDuration = 0.5f;
|
|
168
|
-
|
|
169
|
-
/// <summary>
|
|
170
|
-
///
|
|
171
|
-
/// </summary>
|
|
172
|
-
[Tooltip("")]
|
|
173
|
-
[SerializeField] protected float unFaintSpriteWaitTime = 0.5f;
|
|
174
|
-
#if DOTWEEN
|
|
175
|
-
/// <summary>
|
|
176
|
-
///
|
|
177
|
-
/// </summary>
|
|
178
|
-
[Tooltip("")]
|
|
179
|
-
[SerializeField] protected Ease unFaintEase = Ease.OutExpo;
|
|
180
|
-
#endif
|
|
181
|
-
|
|
182
|
-
/// <summary>
|
|
183
|
-
///
|
|
184
|
-
/// </summary>
|
|
185
|
-
/// <remarks></remarks>
|
|
186
|
-
protected bool isFainting = false;
|
|
187
|
-
|
|
188
|
-
#endregion
|
|
189
|
-
|
|
190
|
-
/// <summary>
|
|
191
|
-
///
|
|
192
|
-
/// </summary>
|
|
193
|
-
/// <param name="o"></param>
|
|
194
|
-
protected override void OnDialogueEventTriggered(object o)
|
|
195
|
-
{
|
|
196
|
-
FaintAnim data = (FaintAnim)o;
|
|
197
|
-
|
|
198
|
-
if (data.faint)
|
|
199
|
-
StartCoroutine(FaintAnim());
|
|
200
|
-
else
|
|
201
|
-
StartCoroutine(UnFaintAnimation(data.to));
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
/// <summary>
|
|
205
|
-
///
|
|
206
|
-
/// </summary>
|
|
207
|
-
/// <returns></returns>
|
|
208
|
-
protected virtual IEnumerator FaintAnim()
|
|
209
|
-
{
|
|
210
|
-
Actor actor = (Actor)currentActor.Value;
|
|
211
|
-
|
|
212
|
-
isFainting = true;
|
|
213
|
-
#if DOTWEEN
|
|
214
|
-
Transform actorParentTransform = actor.transform;
|
|
215
|
-
|
|
216
|
-
float calculatedYPos = actorParentTransform.localPosition.y -
|
|
217
|
-
(actor.transform.GetComponentInChildren<MeshRenderer>().transform.localPosition.y / divideYPos);
|
|
218
|
-
|
|
219
|
-
actorParentTransform.DOMoveY(calculatedYPos, fallDownDuration)
|
|
220
|
-
.SetEase(fallDownEase);
|
|
221
|
-
|
|
222
|
-
yield return new WaitForSeconds(fallDownWaitTime);
|
|
223
|
-
|
|
224
|
-
actor.GetComponentInChildren<SpriteRenderer>().DOFade(actorSpriteFallDownToValue, actorSpriteFallDownDuration);
|
|
225
|
-
#endif
|
|
226
|
-
yield return new WaitForSeconds(actorSpriteFallWaitTime);
|
|
227
|
-
|
|
228
|
-
ShakeObject shakeEvent = new(SOEnum.Camera, shakeDuration, shakeStrength,
|
|
229
|
-
shakeVibrato, shakeRandomness, shakeFadeOut);
|
|
230
|
-
|
|
231
|
-
shakeEvent.TriggerDialogueEvent();
|
|
232
|
-
|
|
233
|
-
yield return new WaitForSeconds(shakeWaitTime);
|
|
234
|
-
#if DOTWEEN
|
|
235
|
-
float teleportYPosition = actorParentTransform.localPosition.y - characterYDiff;
|
|
236
|
-
|
|
237
|
-
actorParentTransform.DOMoveY(teleportYPosition, teleportTime);
|
|
238
|
-
#endif
|
|
239
|
-
isFainting = false;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
/// <summary>
|
|
243
|
-
///
|
|
244
|
-
/// </summary>
|
|
245
|
-
/// <param name="toYPosition"></param>
|
|
246
|
-
/// <returns></returns>
|
|
247
|
-
protected virtual IEnumerator UnFaintAnimation(float toYPosition)
|
|
248
|
-
{
|
|
249
|
-
Actor actor = (Actor)currentActor.Value;
|
|
250
|
-
|
|
251
|
-
isFainting = true;
|
|
252
|
-
#if DOTWEEN
|
|
253
|
-
actor.GetComponentInChildren<SpriteRenderer>().DOFade(unFaintSetSpriteFadeTo, unFaintSetSpriteFadeDuration);
|
|
254
|
-
|
|
255
|
-
Transform actorParentTransform = actor.transform;
|
|
256
|
-
|
|
257
|
-
actorParentTransform.DOMoveY(toYPosition, unFaintYPosDuration)
|
|
258
|
-
.SetEase(unFaintEase);
|
|
259
|
-
|
|
260
|
-
yield return new WaitForSeconds(unFaintYPosWaitTime);
|
|
261
|
-
|
|
262
|
-
actor.GetComponentInChildren<SpriteRenderer>().DOFade(unFaintSpriteToValue, unFaintSpriteDuration);
|
|
263
|
-
#endif
|
|
264
|
-
yield return new WaitForSeconds(unFaintSpriteWaitTime);
|
|
265
|
-
|
|
266
|
-
isFainting = false;
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
/// <inheritdoc/>
|
|
271
|
-
public virtual IEnumerator WaitForTweenToFinish()
|
|
272
|
-
{
|
|
273
|
-
while (isFainting)
|
|
274
|
-
yield return null;
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
/// <summary>
|
|
278
|
-
///
|
|
279
|
-
/// </summary>
|
|
280
|
-
[ContextMenu("Set Default Event")]
|
|
281
|
-
public void SetDefaultEvent() => SetDefaultEventString("FaintAnim");
|
|
282
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
#if DOTWEEN
|
|
3
|
+
using DG.Tweening;
|
|
4
|
+
#endif
|
|
5
|
+
using DREditor.DialogueEventHandling;
|
|
6
|
+
using DREditor.Dialogues.Events;
|
|
7
|
+
using DREditor.Dialogues.LineReading;
|
|
8
|
+
using DREditor.EventObjects;
|
|
9
|
+
using System.Collections;
|
|
10
|
+
using UnityEngine;
|
|
11
|
+
|
|
12
|
+
namespace DREditor.Actors.Events
|
|
13
|
+
{
|
|
14
|
+
/// <summary>
|
|
15
|
+
///
|
|
16
|
+
/// </summary>
|
|
17
|
+
[ClassHeader(nameof(DialogueEventHandler) + ", " + nameof(ITweenWaiter) +
|
|
18
|
+
"\n\n")]
|
|
19
|
+
public class ActorFaintEvent : DialogueEventHandler, ITweenWaiter
|
|
20
|
+
{
|
|
21
|
+
#region Fields
|
|
22
|
+
|
|
23
|
+
/// <summary>
|
|
24
|
+
///
|
|
25
|
+
/// </summary>
|
|
26
|
+
[Header("")]
|
|
27
|
+
[Divider]
|
|
28
|
+
[Tooltip("")]
|
|
29
|
+
[SerializeField] protected SelectableObjectWithEvent currentActor = null;
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
/// <summary>
|
|
33
|
+
///
|
|
34
|
+
/// </summary>
|
|
35
|
+
[Header("")]
|
|
36
|
+
[Divider]
|
|
37
|
+
[Tooltip("")]
|
|
38
|
+
[SerializeField] protected float divideYPos = 2;
|
|
39
|
+
|
|
40
|
+
/// <summary>
|
|
41
|
+
///
|
|
42
|
+
/// </summary>
|
|
43
|
+
[Tooltip("")]
|
|
44
|
+
[SerializeField] protected float fallDownDuration = 1.5f;
|
|
45
|
+
|
|
46
|
+
/// <summary>
|
|
47
|
+
///
|
|
48
|
+
/// </summary>
|
|
49
|
+
[Tooltip("")]
|
|
50
|
+
[SerializeField] protected float fallDownWaitTime = 1f;
|
|
51
|
+
|
|
52
|
+
/// <summary>
|
|
53
|
+
///
|
|
54
|
+
/// </summary>
|
|
55
|
+
[Tooltip("")]
|
|
56
|
+
[Range(0f, 1f)]
|
|
57
|
+
[SerializeField] protected float actorSpriteFallDownToValue = 0;
|
|
58
|
+
|
|
59
|
+
/// <summary>
|
|
60
|
+
///
|
|
61
|
+
/// </summary>
|
|
62
|
+
[Tooltip("")]
|
|
63
|
+
[SerializeField] protected float actorSpriteFallDownDuration = 0.5f;
|
|
64
|
+
|
|
65
|
+
/// <summary>
|
|
66
|
+
///
|
|
67
|
+
/// </summary>
|
|
68
|
+
[Tooltip("")]
|
|
69
|
+
[SerializeField] protected float actorSpriteFallWaitTime = 0.3f;
|
|
70
|
+
#if DOTWEEN
|
|
71
|
+
/// <summary>
|
|
72
|
+
///
|
|
73
|
+
/// </summary>
|
|
74
|
+
[Tooltip("")]
|
|
75
|
+
[SerializeField] protected Ease fallDownEase = Ease.InExpo;
|
|
76
|
+
#endif
|
|
77
|
+
/// <summary>
|
|
78
|
+
///
|
|
79
|
+
/// </summary>
|
|
80
|
+
[Tooltip("")]
|
|
81
|
+
[SerializeField] protected float characterYDiff = 5;
|
|
82
|
+
|
|
83
|
+
/// <summary>
|
|
84
|
+
///
|
|
85
|
+
/// </summary>
|
|
86
|
+
[Tooltip("")]
|
|
87
|
+
[SerializeField] protected float teleportTime = 0;
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
/// <summary>
|
|
91
|
+
///
|
|
92
|
+
/// </summary>
|
|
93
|
+
[Header("")]
|
|
94
|
+
[Divider]
|
|
95
|
+
[Tooltip("")]
|
|
96
|
+
[SerializeField] protected float shakeDuration = 0.5f;
|
|
97
|
+
|
|
98
|
+
/// <summary>
|
|
99
|
+
///
|
|
100
|
+
/// </summary>
|
|
101
|
+
[Tooltip("")]
|
|
102
|
+
[SerializeField] protected float shakeStrength = 0.5f;
|
|
103
|
+
|
|
104
|
+
/// <summary>
|
|
105
|
+
///
|
|
106
|
+
/// </summary>
|
|
107
|
+
[Tooltip("")]
|
|
108
|
+
[SerializeField] protected int shakeVibrato = 15;
|
|
109
|
+
|
|
110
|
+
/// <summary>
|
|
111
|
+
///
|
|
112
|
+
/// </summary>
|
|
113
|
+
[Tooltip("")]
|
|
114
|
+
[SerializeField] protected float shakeRandomness = 0;
|
|
115
|
+
|
|
116
|
+
/// <summary>
|
|
117
|
+
///
|
|
118
|
+
/// </summary>
|
|
119
|
+
[Tooltip("")]
|
|
120
|
+
[SerializeField] protected bool shakeFadeOut = true;
|
|
121
|
+
|
|
122
|
+
/// <summary>
|
|
123
|
+
///
|
|
124
|
+
/// </summary>
|
|
125
|
+
[Tooltip("")]
|
|
126
|
+
[SerializeField] protected float shakeWaitTime = 0.3f;
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
/// <summary>
|
|
130
|
+
///
|
|
131
|
+
/// </summary>
|
|
132
|
+
[Header("")]
|
|
133
|
+
[Divider]
|
|
134
|
+
[Tooltip("")]
|
|
135
|
+
[Range(0f, 1f)]
|
|
136
|
+
[SerializeField] protected float unFaintSetSpriteFadeTo = 0;
|
|
137
|
+
|
|
138
|
+
/// <summary>
|
|
139
|
+
///
|
|
140
|
+
/// </summary>
|
|
141
|
+
[Tooltip("")]
|
|
142
|
+
[SerializeField] protected float unFaintSetSpriteFadeDuration = 0;
|
|
143
|
+
|
|
144
|
+
/// <summary>
|
|
145
|
+
///
|
|
146
|
+
/// </summary>
|
|
147
|
+
[Tooltip("")]
|
|
148
|
+
[SerializeField] protected float unFaintYPosDuration = 1.5f;
|
|
149
|
+
|
|
150
|
+
/// <summary>
|
|
151
|
+
///
|
|
152
|
+
/// </summary>
|
|
153
|
+
[Tooltip("")]
|
|
154
|
+
[SerializeField] protected float unFaintYPosWaitTime = 1f;
|
|
155
|
+
|
|
156
|
+
/// <summary>
|
|
157
|
+
///
|
|
158
|
+
/// </summary>
|
|
159
|
+
[Tooltip("")]
|
|
160
|
+
[Range(0f, 1f)]
|
|
161
|
+
[SerializeField] protected float unFaintSpriteToValue = 1f;
|
|
162
|
+
|
|
163
|
+
/// <summary>
|
|
164
|
+
///
|
|
165
|
+
/// </summary>
|
|
166
|
+
[Tooltip("")]
|
|
167
|
+
[SerializeField] protected float unFaintSpriteDuration = 0.5f;
|
|
168
|
+
|
|
169
|
+
/// <summary>
|
|
170
|
+
///
|
|
171
|
+
/// </summary>
|
|
172
|
+
[Tooltip("")]
|
|
173
|
+
[SerializeField] protected float unFaintSpriteWaitTime = 0.5f;
|
|
174
|
+
#if DOTWEEN
|
|
175
|
+
/// <summary>
|
|
176
|
+
///
|
|
177
|
+
/// </summary>
|
|
178
|
+
[Tooltip("")]
|
|
179
|
+
[SerializeField] protected Ease unFaintEase = Ease.OutExpo;
|
|
180
|
+
#endif
|
|
181
|
+
|
|
182
|
+
/// <summary>
|
|
183
|
+
///
|
|
184
|
+
/// </summary>
|
|
185
|
+
/// <remarks></remarks>
|
|
186
|
+
protected bool isFainting = false;
|
|
187
|
+
|
|
188
|
+
#endregion
|
|
189
|
+
|
|
190
|
+
/// <summary>
|
|
191
|
+
///
|
|
192
|
+
/// </summary>
|
|
193
|
+
/// <param name="o"></param>
|
|
194
|
+
protected override void OnDialogueEventTriggered(object o)
|
|
195
|
+
{
|
|
196
|
+
FaintAnim data = (FaintAnim)o;
|
|
197
|
+
|
|
198
|
+
if (data.faint)
|
|
199
|
+
StartCoroutine(FaintAnim());
|
|
200
|
+
else
|
|
201
|
+
StartCoroutine(UnFaintAnimation(data.to));
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
/// <summary>
|
|
205
|
+
///
|
|
206
|
+
/// </summary>
|
|
207
|
+
/// <returns></returns>
|
|
208
|
+
protected virtual IEnumerator FaintAnim()
|
|
209
|
+
{
|
|
210
|
+
Actor actor = (Actor)currentActor.Value;
|
|
211
|
+
|
|
212
|
+
isFainting = true;
|
|
213
|
+
#if DOTWEEN
|
|
214
|
+
Transform actorParentTransform = actor.transform;
|
|
215
|
+
|
|
216
|
+
float calculatedYPos = actorParentTransform.localPosition.y -
|
|
217
|
+
(actor.transform.GetComponentInChildren<MeshRenderer>().transform.localPosition.y / divideYPos);
|
|
218
|
+
|
|
219
|
+
actorParentTransform.DOMoveY(calculatedYPos, fallDownDuration)
|
|
220
|
+
.SetEase(fallDownEase);
|
|
221
|
+
|
|
222
|
+
yield return new WaitForSeconds(fallDownWaitTime);
|
|
223
|
+
|
|
224
|
+
actor.GetComponentInChildren<SpriteRenderer>().DOFade(actorSpriteFallDownToValue, actorSpriteFallDownDuration);
|
|
225
|
+
#endif
|
|
226
|
+
yield return new WaitForSeconds(actorSpriteFallWaitTime);
|
|
227
|
+
|
|
228
|
+
ShakeObject shakeEvent = new(SOEnum.Camera, shakeDuration, shakeStrength,
|
|
229
|
+
shakeVibrato, shakeRandomness, shakeFadeOut);
|
|
230
|
+
|
|
231
|
+
shakeEvent.TriggerDialogueEvent();
|
|
232
|
+
|
|
233
|
+
yield return new WaitForSeconds(shakeWaitTime);
|
|
234
|
+
#if DOTWEEN
|
|
235
|
+
float teleportYPosition = actorParentTransform.localPosition.y - characterYDiff;
|
|
236
|
+
|
|
237
|
+
actorParentTransform.DOMoveY(teleportYPosition, teleportTime);
|
|
238
|
+
#endif
|
|
239
|
+
isFainting = false;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
/// <summary>
|
|
243
|
+
///
|
|
244
|
+
/// </summary>
|
|
245
|
+
/// <param name="toYPosition"></param>
|
|
246
|
+
/// <returns></returns>
|
|
247
|
+
protected virtual IEnumerator UnFaintAnimation(float toYPosition)
|
|
248
|
+
{
|
|
249
|
+
Actor actor = (Actor)currentActor.Value;
|
|
250
|
+
|
|
251
|
+
isFainting = true;
|
|
252
|
+
#if DOTWEEN
|
|
253
|
+
actor.GetComponentInChildren<SpriteRenderer>().DOFade(unFaintSetSpriteFadeTo, unFaintSetSpriteFadeDuration);
|
|
254
|
+
|
|
255
|
+
Transform actorParentTransform = actor.transform;
|
|
256
|
+
|
|
257
|
+
actorParentTransform.DOMoveY(toYPosition, unFaintYPosDuration)
|
|
258
|
+
.SetEase(unFaintEase);
|
|
259
|
+
|
|
260
|
+
yield return new WaitForSeconds(unFaintYPosWaitTime);
|
|
261
|
+
|
|
262
|
+
actor.GetComponentInChildren<SpriteRenderer>().DOFade(unFaintSpriteToValue, unFaintSpriteDuration);
|
|
263
|
+
#endif
|
|
264
|
+
yield return new WaitForSeconds(unFaintSpriteWaitTime);
|
|
265
|
+
|
|
266
|
+
isFainting = false;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
/// <inheritdoc/>
|
|
271
|
+
public virtual IEnumerator WaitForTweenToFinish()
|
|
272
|
+
{
|
|
273
|
+
while (isFainting)
|
|
274
|
+
yield return null;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
/// <summary>
|
|
278
|
+
///
|
|
279
|
+
/// </summary>
|
|
280
|
+
[ContextMenu("Set Default Event")]
|
|
281
|
+
public void SetDefaultEvent() => SetDefaultEventString("FaintAnim");
|
|
282
|
+
}
|
|
283
283
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 8d7275d8c5d594c469a183a7fb6dd777
|
|
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: 8d7275d8c5d594c469a183a7fb6dd777
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|