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.
Files changed (143) hide show
  1. package/.attestation.p7m +0 -0
  2. package/Actor.cs +74 -74
  3. package/Actor.cs.meta +11 -11
  4. package/ActorBodyDebugger.cs +117 -117
  5. package/ActorBodyDebugger.cs.meta +13 -13
  6. package/ActorManager.cs +149 -149
  7. package/ActorManager.cs.meta +11 -11
  8. package/ActorOrganizer.cs +93 -93
  9. package/ActorOrganizer.cs.meta +11 -11
  10. package/BasicExpressionChanger.cs +157 -157
  11. package/BasicExpressionChanger.cs.meta +11 -11
  12. package/BasicLayerHandler.cs +108 -108
  13. package/BasicLayerHandler.cs.meta +11 -11
  14. package/DREditor.Actors.asmdef +20 -20
  15. package/DREditor.Actors.asmdef.meta +7 -7
  16. package/Editor/AssignmentStyleGUIEditor.cs +171 -171
  17. package/Editor/AssignmentStyleGUIEditor.cs.meta +1 -1
  18. package/Editor/AutoCreateCharacterWizard.cs +475 -475
  19. package/Editor/AutoCreateCharacterWizard.cs.meta +11 -11
  20. package/Editor/AutoCreateTrialCharacterWizard.cs +426 -426
  21. package/Editor/AutoCreateTrialCharacterWizard.cs.meta +1 -1
  22. package/Editor/CharacterUtility.cs +119 -119
  23. package/Editor/CharacterUtility.cs.meta +11 -11
  24. package/Editor/CircleDrawer.cs +206 -206
  25. package/Editor/CircleDrawer.cs.meta +1 -1
  26. package/Editor/CircleUtility.cs +54 -54
  27. package/Editor/CircleUtility.cs.meta +1 -1
  28. package/Editor/DREditor.Actors.Editor.asmdef +21 -21
  29. package/Editor/DREditor.Actors.Editor.asmdef.meta +7 -7
  30. package/Editor/GenerateCharacterIntroDialogues.cs +234 -234
  31. package/Editor/GenerateCharacterIntroDialogues.cs.meta +11 -11
  32. package/Editor/IItemImporter.cs +19 -19
  33. package/Editor/IItemImporter.cs.meta +1 -1
  34. package/Editor/ItemImporter.cs +170 -170
  35. package/Editor/ItemImporter.cs.meta +1 -1
  36. package/Editor/ItemUtility.cs +85 -85
  37. package/Editor/ItemUtility.cs.meta +11 -11
  38. package/Editor/ItemWizard.cs +41 -41
  39. package/Editor/ItemWizard.cs.meta +11 -11
  40. package/Editor.meta +8 -8
  41. package/Events/ActorCheckFocusEvent.cs +49 -49
  42. package/Events/ActorCheckFocusEvent.cs.meta +11 -11
  43. package/Events/ActorFadeEvent.cs +19 -19
  44. package/Events/ActorFadeEvent.cs.meta +11 -11
  45. package/Events/ActorFadeHandler.cs +53 -53
  46. package/Events/ActorFadeHandler.cs.meta +11 -11
  47. package/Events/ActorFaintEvent.cs +282 -282
  48. package/Events/ActorFaintEvent.cs.meta +11 -11
  49. package/Events/ActorFaintEventRenderQ.cs +65 -65
  50. package/Events/ActorFaintEventRenderQ.cs.meta +11 -11
  51. package/Events/ActorLeaveHandler.cs +238 -238
  52. package/Events/ActorLeaveHandler.cs.meta +11 -11
  53. package/Events/ActorSpriteFader.cs +190 -190
  54. package/Events/ActorSpriteFader.cs.meta +11 -11
  55. package/Events/ActorSpriteFaderRenderQ.cs +49 -49
  56. package/Events/ActorSpriteFaderRenderQ.cs.meta +11 -11
  57. package/Events/BSTrialActorFlash.cs +259 -259
  58. package/Events/BSTrialActorFlash.cs.meta +11 -11
  59. package/Events/ChangeLastFocusEvent.cs +62 -62
  60. package/Events/ChangeLastFocusEvent.cs.meta +11 -11
  61. package/Events/MoveCharacterEvent.cs +141 -141
  62. package/Events/MoveCharacterEvent.cs.meta +11 -11
  63. package/Events.meta +8 -8
  64. package/ExpressionChanger.cs +25 -25
  65. package/ExpressionChanger.cs.meta +11 -11
  66. package/FocusHandler.cs +96 -96
  67. package/FocusHandler.cs.meta +11 -11
  68. package/Implementation/ActorFocusHandler.cs +195 -195
  69. package/Implementation/ActorFocusHandler.cs.meta +11 -11
  70. package/Implementation/ActorFocusLoadEnd.cs +108 -108
  71. package/Implementation/ActorFocusLoadEnd.cs.meta +11 -11
  72. package/Implementation/ActorFocusPrepare.cs +102 -102
  73. package/Implementation/ActorFocusPrepare.cs.meta +11 -11
  74. package/Implementation/ActorFocusResolve.cs +67 -67
  75. package/Implementation/ActorFocusResolve.cs.meta +11 -11
  76. package/Implementation/ActorSpriteChanger.cs +129 -129
  77. package/Implementation/ActorSpriteChanger.cs.meta +11 -11
  78. package/Implementation/ActorTrialSpriteChanger.cs +46 -46
  79. package/Implementation/ActorTrialSpriteChanger.cs.meta +11 -11
  80. package/Implementation/ChangeLastSpriteEvent.cs +92 -92
  81. package/Implementation/ChangeLastSpriteEvent.cs.meta +11 -11
  82. package/Implementation/WorldSpriteChanger.cs +207 -207
  83. package/Implementation/WorldSpriteChanger.cs.meta +11 -11
  84. package/Implementation.meta +8 -8
  85. package/LayerHandler.cs +30 -30
  86. package/LayerHandler.cs.meta +11 -11
  87. package/{Samples → Samples~}/Actor.prefab +581 -581
  88. package/{Samples → Samples~}/Actor.prefab.meta +7 -7
  89. package/{Samples → Samples~}/Actor_Body_Debugger.prefab +68 -68
  90. package/{Samples → Samples~}/Actor_Body_Debugger.prefab.meta +7 -7
  91. package/{Samples → Samples~}/Actor_Check_Focus_Event.prefab +47 -47
  92. package/{Samples → Samples~}/Actor_Check_Focus_Event.prefab.meta +7 -7
  93. package/{Samples → Samples~}/Actor_Event_Handlers.prefab +668 -668
  94. package/{Samples → Samples~}/Actor_Event_Handlers.prefab.meta +7 -7
  95. package/{Samples → Samples~}/Actor_Fade_Handler.prefab +137 -137
  96. package/{Samples → Samples~}/Actor_Fade_Handler.prefab.meta +7 -7
  97. package/{Samples → Samples~}/Actor_Fade_Handler_Render_Q.prefab +137 -137
  98. package/{Samples → Samples~}/Actor_Fade_Handler_Render_Q.prefab.meta +7 -7
  99. package/{Samples → Samples~}/Actor_Faint_Event.prefab +71 -71
  100. package/{Samples → Samples~}/Actor_Faint_Event.prefab.meta +7 -7
  101. package/{Samples → Samples~}/Actor_Faint_Event_Render_Q.prefab +73 -73
  102. package/{Samples → Samples~}/Actor_Faint_Event_Render_Q.prefab.meta +7 -7
  103. package/{Samples → Samples~}/Actor_Focus_Handler.prefab +168 -168
  104. package/{Samples → Samples~}/Actor_Focus_Handler.prefab.meta +7 -7
  105. package/{Samples → Samples~}/Actor_Focus_Handler_Shell.prefab +56 -56
  106. package/{Samples → Samples~}/Actor_Focus_Handler_Shell.prefab.meta +7 -7
  107. package/{Samples → Samples~}/Actor_Focus_Load_End.prefab +66 -66
  108. package/{Samples → Samples~}/Actor_Focus_Load_End.prefab.meta +7 -7
  109. package/{Samples → Samples~}/Actor_Focus_Prepare.prefab +49 -49
  110. package/{Samples → Samples~}/Actor_Focus_Prepare.prefab.meta +7 -7
  111. package/{Samples → Samples~}/Actor_Focus_Resolve.prefab +48 -48
  112. package/{Samples → Samples~}/Actor_Focus_Resolve.prefab.meta +7 -7
  113. package/{Samples → Samples~}/Actor_Leave_Handler.prefab +141 -141
  114. package/{Samples → Samples~}/Actor_Leave_Handler.prefab.meta +7 -7
  115. package/{Samples → Samples~}/Actor_Leave_Handler_Render_Q.prefab +141 -141
  116. package/{Samples → Samples~}/Actor_Leave_Handler_Render_Q.prefab.meta +7 -7
  117. package/{Samples → Samples~}/Actor_Organizer.prefab +49 -49
  118. package/{Samples → Samples~}/Actor_Organizer.prefab.meta +7 -7
  119. package/{Samples → Samples~}/Actor_Sprite_Changer.prefab +163 -163
  120. package/{Samples → Samples~}/Actor_Sprite_Changer.prefab.meta +7 -7
  121. package/{Samples → Samples~}/Actor_Sprite_Changer_Shell.prefab +51 -51
  122. package/{Samples → Samples~}/Actor_Sprite_Changer_Shell.prefab.meta +7 -7
  123. package/{Samples → Samples~}/Actor_Sprite_Fader.prefab +52 -52
  124. package/{Samples → Samples~}/Actor_Sprite_Fader.prefab.meta +7 -7
  125. package/{Samples → Samples~}/Actor_Sprite_Fader_Render_Q.prefab +54 -54
  126. package/{Samples → Samples~}/Actor_Sprite_Fader_Render_Q.prefab.meta +7 -7
  127. package/{Samples → Samples~}/Actor_Trial_Sprite_Changer.prefab +47 -47
  128. package/{Samples → Samples~}/Actor_Trial_Sprite_Changer.prefab.meta +7 -7
  129. package/{Samples → Samples~}/Change_Last_Focus_Event.prefab +66 -66
  130. package/{Samples → Samples~}/Change_Last_Focus_Event.prefab.meta +7 -7
  131. package/{Samples → Samples~}/Change_Last_Sprite_Event.prefab +49 -49
  132. package/{Samples → Samples~}/Change_Last_Sprite_Event.prefab.meta +7 -7
  133. package/{Samples → Samples~}/Change_Last_World_Sprite_Event.prefab +186 -186
  134. package/{Samples → Samples~}/Change_Last_World_Sprite_Event.prefab.meta +7 -7
  135. package/{Samples → Samples~}/Focus_Handler.prefab +49 -49
  136. package/{Samples → Samples~}/Focus_Handler.prefab.meta +7 -7
  137. package/{Samples → Samples~}/Move_Character_Event.prefab +51 -51
  138. package/{Samples → Samples~}/Move_Character_Event.prefab.meta +7 -7
  139. package/{Samples → Samples~}/World_Sprite_Changer.prefab +51 -51
  140. package/{Samples → Samples~}/World_Sprite_Changer.prefab.meta +7 -7
  141. package/package.json +43 -38
  142. package/package.json.meta +7 -7
  143. 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: