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,196 +1,196 @@
1
- //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
- using DREditor.Dialogues;
3
- using DREditor.Dialogues.Events;
4
- using DREditor.Dialogues.LineReading;
5
- using DREditor.EventObjects;
6
- using DREditor.Services;
7
- using DREditor.Talkables;
8
- using System.Collections;
9
- using System.Linq;
10
- using UnityEngine;
11
-
12
- namespace DREditor.Actors.Implementation
13
- {
14
- /// <summary>
15
- ///
16
- /// </summary>
17
- /// <remarks>
18
- ///
19
- /// </remarks>
20
- [ClassHeader(nameof(DialogueComponent) + ", " + nameof(ILineProcessorRoutine) +
21
- "\n\n")]
22
- public class ActorFocusHandler : DialogueComponent, ILineProcessorRoutine
23
- {
24
- /// <summary>
25
- ///
26
- /// </summary>
27
- [Header("")]
28
- [Divider]
29
- [Tooltip("")]
30
- [SerializeField] protected BoolWithEvent inFastForwardMode = null;
31
-
32
- /// <summary>
33
- ///
34
- /// </summary>
35
- [Tooltip("")]
36
- [SerializeField] protected BoolWithEvent isProtagSpeaking = null;
37
-
38
- /// <summary>
39
- ///
40
- /// </summary>
41
- [Tooltip("")]
42
- [SerializeField] protected BoolWithEvent isLoadingFile = null;
43
-
44
- /// <summary>
45
- ///
46
- /// </summary>
47
- [Tooltip("")]
48
- [SerializeField] protected BoolWithEvent inCGMode = null;
49
-
50
- /// <summary>
51
- ///
52
- /// </summary>
53
- [Tooltip("")]
54
- [SerializeField] protected SelectableObjectWithEvent currentActor = null;
55
-
56
- /// <summary>
57
- ///
58
- /// </summary>
59
- [Tooltip("")]
60
- [SerializeField] protected SelectableObjectWithEvent lastActor = null;
61
-
62
- /// <summary>
63
- ///
64
- /// </summary>
65
- [Tooltip("")]
66
- [SerializeField] protected BoolWithEvent inVideoMode = null;
67
-
68
-
69
- /// <summary>
70
- ///
71
- /// </summary>
72
- [Header("")]
73
- [Divider]
74
- [Tooltip("")]
75
- [SerializeField] protected float characterPanWaitTime = 0.3f;
76
-
77
- /// <summary>
78
- ///
79
- /// </summary>
80
- [Tooltip("")]
81
- [SerializeField] protected int fastForwardBufferedFrames = 5;
82
-
83
- /// <summary>
84
- ///
85
- /// </summary>
86
- [Tooltip("")]
87
- [SerializeField] protected FocusHandler focusHandler = null;
88
-
89
-
90
- /// <inheritdoc/>
91
- public virtual bool ShouldProcess(Line currentLine)
92
- => currentLine.ContainsEventType<ShakeObject>() || currentLine.PanToChar || ShouldUsePanBufferTime(currentLine);
93
-
94
- /// <inheritdoc/>
95
- public virtual IEnumerator LineProcessRoutine(Line currentLine) => EvaluateCameraMovement(currentLine);
96
-
97
- /// <summary>
98
- ///
99
- /// </summary>
100
- /// <param name="currentLine"></param>
101
- protected virtual IEnumerator EvaluateCameraMovement(Line currentLine)
102
- {
103
- if (currentLine.PanToChar)
104
- yield return PanToCharacterEvent(currentLine);
105
- else if (ShouldUsePanBufferTime(currentLine))
106
- yield return FocusCharacter();
107
-
108
- yield return InvokeCameraDialogueEvent<ShakeObject>(currentLine);
109
- }
110
-
111
- /// <summary>
112
- ///
113
- /// </summary>
114
- /// <param name="currentLine"></param>
115
- protected virtual IEnumerator PanToCharacterEvent(Line currentLine)
116
- {
117
- Actor actorPan = (Actor)ServiceLocator.GetService<IObjectPooler<Talkable>>()
118
- .GetObjectByName(currentLine.CharToPan.FirstName);
119
-
120
- if (!actorPan)
121
- UnityEngine.Debug.LogWarning(ToString() + ": ALERT: PAN TO CHARACTER ACTOR WAS NOT FOUND IN THE SCENE");
122
-
123
- focusHandler.ChangeFocus(actorPan, (Actor)lastActor.Value);
124
-
125
- lastActor.SetValue(actorPan);
126
-
127
- yield return new WaitForSeconds(characterPanWaitTime);
128
- }
129
-
130
- /// <summary>
131
- ///
132
- /// </summary>
133
- /// <param name="currentLine"></param>
134
- /// <returns></returns>
135
- protected virtual bool ShouldUsePanBufferTime(Line currentLine)
136
- {
137
- bool notInCGState = !inVideoMode.Value && !inCGMode.Value;
138
-
139
- bool currentActorIsValid = (Actor)currentActor.Value != null;
140
-
141
- bool lastActorIsntCurrent = (Actor)lastActor.Value != (Actor)currentActor.Value;
142
-
143
- bool protagIsntSpeaking = !isProtagSpeaking.Value;
144
-
145
- //bool actorIsntLeaving = !currentLine.Leave; Leave is removed so needs testing.
146
-
147
- bool validActorStates = currentActorIsValid && lastActorIsntCurrent;
148
-
149
- bool validStates = validActorStates && notInCGState && protagIsntSpeaking;// && actorIsntLeaving;
150
-
151
- bool lineValidStates = !currentLine.PanToChar && !currentLine.DontPan;
152
-
153
- return lineValidStates && validStates;
154
- }
155
-
156
- /// <summary>
157
- ///
158
- /// </summary>
159
- protected virtual IEnumerator FocusCharacter()
160
- {
161
- if (isLoadingFile.Value)
162
- yield return new WaitForSeconds(Time.unscaledDeltaTime);
163
-
164
- /* The Above had to be added because for some reason loading on the line to kai before the
165
- * tree room shakes : it'd put the camera on the wrong angle
166
- * D_Ch0_Inv_ToTrial_AfterStatue Line before tree vid
167
- */
168
-
169
- focusHandler.ChangeFocus((Actor)currentActor.Value, (Actor)lastActor.Value);
170
-
171
- yield return new WaitForSeconds(Time.unscaledDeltaTime);
172
-
173
- if (inFastForwardMode.Value)
174
- yield return new WaitForSeconds(Time.unscaledDeltaTime * fastForwardBufferedFrames);
175
- }
176
-
177
- /// <summary>
178
- ///
179
- /// </summary>
180
- /// <typeparam name="T"></typeparam>
181
- /// <param name="currentLine"></param>
182
- protected virtual IEnumerator InvokeCameraDialogueEvent<T>(Line currentLine)
183
- {
184
- var cameraEvents = currentLine.DiaEvents.Where(dialogueEvent => dialogueEvent.GetType() == typeof(T));
185
-
186
- if (cameraEvents.Count() > 0 && !inFastForwardMode.Value)
187
- {
188
- if (ShouldUsePanBufferTime(currentLine))
189
- yield return new WaitForSeconds(characterPanWaitTime);
190
-
191
- foreach (IDialogueEvent cameraEvent in cameraEvents)
192
- cameraEvent.TriggerDialogueEvent();
193
- }
194
- }
195
- }
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.Dialogues;
3
+ using DREditor.Dialogues.Events;
4
+ using DREditor.Dialogues.LineReading;
5
+ using DREditor.EventObjects;
6
+ using DREditor.Services;
7
+ using DREditor.Talkables;
8
+ using System.Collections;
9
+ using System.Linq;
10
+ using UnityEngine;
11
+
12
+ namespace DREditor.Actors.Implementation
13
+ {
14
+ /// <summary>
15
+ ///
16
+ /// </summary>
17
+ /// <remarks>
18
+ ///
19
+ /// </remarks>
20
+ [ClassHeader(nameof(DialogueComponent) + ", " + nameof(ILineProcessorRoutine) +
21
+ "\n\n")]
22
+ public class ActorFocusHandler : DialogueComponent, ILineProcessorRoutine
23
+ {
24
+ /// <summary>
25
+ ///
26
+ /// </summary>
27
+ [Header("")]
28
+ [Divider]
29
+ [Tooltip("")]
30
+ [SerializeField] protected BoolWithEvent inFastForwardMode = null;
31
+
32
+ /// <summary>
33
+ ///
34
+ /// </summary>
35
+ [Tooltip("")]
36
+ [SerializeField] protected BoolWithEvent isProtagSpeaking = null;
37
+
38
+ /// <summary>
39
+ ///
40
+ /// </summary>
41
+ [Tooltip("")]
42
+ [SerializeField] protected BoolWithEvent isLoadingFile = null;
43
+
44
+ /// <summary>
45
+ ///
46
+ /// </summary>
47
+ [Tooltip("")]
48
+ [SerializeField] protected BoolWithEvent inCGMode = null;
49
+
50
+ /// <summary>
51
+ ///
52
+ /// </summary>
53
+ [Tooltip("")]
54
+ [SerializeField] protected SelectableObjectWithEvent currentActor = null;
55
+
56
+ /// <summary>
57
+ ///
58
+ /// </summary>
59
+ [Tooltip("")]
60
+ [SerializeField] protected SelectableObjectWithEvent lastActor = null;
61
+
62
+ /// <summary>
63
+ ///
64
+ /// </summary>
65
+ [Tooltip("")]
66
+ [SerializeField] protected BoolWithEvent inVideoMode = null;
67
+
68
+
69
+ /// <summary>
70
+ ///
71
+ /// </summary>
72
+ [Header("")]
73
+ [Divider]
74
+ [Tooltip("")]
75
+ [SerializeField] protected float characterPanWaitTime = 0.3f;
76
+
77
+ /// <summary>
78
+ ///
79
+ /// </summary>
80
+ [Tooltip("")]
81
+ [SerializeField] protected int fastForwardBufferedFrames = 5;
82
+
83
+ /// <summary>
84
+ ///
85
+ /// </summary>
86
+ [Tooltip("")]
87
+ [SerializeField] protected FocusHandler focusHandler = null;
88
+
89
+
90
+ /// <inheritdoc/>
91
+ public virtual bool ShouldProcess(Line currentLine)
92
+ => currentLine.ContainsEventType<ShakeObject>() || currentLine.PanToChar || ShouldUsePanBufferTime(currentLine);
93
+
94
+ /// <inheritdoc/>
95
+ public virtual IEnumerator LineProcessRoutine(Line currentLine) => EvaluateCameraMovement(currentLine);
96
+
97
+ /// <summary>
98
+ ///
99
+ /// </summary>
100
+ /// <param name="currentLine"></param>
101
+ protected virtual IEnumerator EvaluateCameraMovement(Line currentLine)
102
+ {
103
+ if (currentLine.PanToChar)
104
+ yield return PanToCharacterEvent(currentLine);
105
+ else if (ShouldUsePanBufferTime(currentLine))
106
+ yield return FocusCharacter();
107
+
108
+ yield return InvokeCameraDialogueEvent<ShakeObject>(currentLine);
109
+ }
110
+
111
+ /// <summary>
112
+ ///
113
+ /// </summary>
114
+ /// <param name="currentLine"></param>
115
+ protected virtual IEnumerator PanToCharacterEvent(Line currentLine)
116
+ {
117
+ Actor actorPan = (Actor)ServiceLocator.GetService<IObjectPooler<Talkable>>()
118
+ .GetObjectByName(currentLine.CharToPan.FirstName);
119
+
120
+ if (!actorPan)
121
+ UnityEngine.Debug.LogWarning(ToString() + ": ALERT: PAN TO CHARACTER ACTOR WAS NOT FOUND IN THE SCENE");
122
+
123
+ focusHandler.ChangeFocus(actorPan, (Actor)lastActor.Value);
124
+
125
+ lastActor.SetValue(actorPan);
126
+
127
+ yield return new WaitForSeconds(characterPanWaitTime);
128
+ }
129
+
130
+ /// <summary>
131
+ ///
132
+ /// </summary>
133
+ /// <param name="currentLine"></param>
134
+ /// <returns></returns>
135
+ protected virtual bool ShouldUsePanBufferTime(Line currentLine)
136
+ {
137
+ bool notInCGState = !inVideoMode.Value && !inCGMode.Value;
138
+
139
+ bool currentActorIsValid = (Actor)currentActor.Value != null;
140
+
141
+ bool lastActorIsntCurrent = (Actor)lastActor.Value != (Actor)currentActor.Value;
142
+
143
+ bool protagIsntSpeaking = !isProtagSpeaking.Value;
144
+
145
+ //bool actorIsntLeaving = !currentLine.Leave; Leave is removed so needs testing.
146
+
147
+ bool validActorStates = currentActorIsValid && lastActorIsntCurrent;
148
+
149
+ bool validStates = validActorStates && notInCGState && protagIsntSpeaking;// && actorIsntLeaving;
150
+
151
+ bool lineValidStates = !currentLine.PanToChar && !currentLine.DontPan;
152
+
153
+ return lineValidStates && validStates;
154
+ }
155
+
156
+ /// <summary>
157
+ ///
158
+ /// </summary>
159
+ protected virtual IEnumerator FocusCharacter()
160
+ {
161
+ if (isLoadingFile.Value)
162
+ yield return new WaitForSeconds(Time.unscaledDeltaTime);
163
+
164
+ /* The Above had to be added because for some reason loading on the line to kai before the
165
+ * tree room shakes : it'd put the camera on the wrong angle
166
+ * D_Ch0_Inv_ToTrial_AfterStatue Line before tree vid
167
+ */
168
+
169
+ focusHandler.ChangeFocus((Actor)currentActor.Value, (Actor)lastActor.Value);
170
+
171
+ yield return new WaitForSeconds(Time.unscaledDeltaTime);
172
+
173
+ if (inFastForwardMode.Value)
174
+ yield return new WaitForSeconds(Time.unscaledDeltaTime * fastForwardBufferedFrames);
175
+ }
176
+
177
+ /// <summary>
178
+ ///
179
+ /// </summary>
180
+ /// <typeparam name="T"></typeparam>
181
+ /// <param name="currentLine"></param>
182
+ protected virtual IEnumerator InvokeCameraDialogueEvent<T>(Line currentLine)
183
+ {
184
+ var cameraEvents = currentLine.DiaEvents.Where(dialogueEvent => dialogueEvent.GetType() == typeof(T));
185
+
186
+ if (cameraEvents.Count() > 0 && !inFastForwardMode.Value)
187
+ {
188
+ if (ShouldUsePanBufferTime(currentLine))
189
+ yield return new WaitForSeconds(characterPanWaitTime);
190
+
191
+ foreach (IDialogueEvent cameraEvent in cameraEvents)
192
+ cameraEvent.TriggerDialogueEvent();
193
+ }
194
+ }
195
+ }
196
196
  }
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: 0d63c1751a42fea47898c229d54f2598
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: 0d63c1751a42fea47898c229d54f2598
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -1,109 +1,109 @@
1
- //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
- using DREditor.Dialogues;
3
- using DREditor.Dialogues.Loading;
4
- using DREditor.EventObjects;
5
- using DREditor.Services;
6
- using DREditor.Talkables;
7
- using UnityEngine;
8
-
9
- namespace DREditor.Actors.Implementation
10
- {
11
- /// <summary>
12
- ///
13
- /// </summary>
14
- [ClassHeader(nameof(DialogueComponent) + ", " + nameof(ILoadToLineEnd) +
15
- "\n\n")]
16
- public class ActorFocusLoadEnd : DialogueComponent, ILoadToLineEnd
17
- {
18
- /// <summary>
19
- ///
20
- /// </summary>
21
- [Tooltip("")]
22
- [SerializeField] protected BoolWithEvent loadingToLine = null;
23
-
24
- /// <summary>
25
- ///
26
- /// </summary>
27
- [Tooltip("")]
28
- [SerializeField] protected SelectableObjectWithEvent currentActor = null;
29
-
30
- /// <summary>
31
- ///
32
- /// </summary>
33
- [Tooltip("")]
34
- [SerializeField] protected SelectableObjectWithEvent lastActor = null;
35
-
36
- /// <summary>
37
- ///
38
- /// </summary>
39
- [Tooltip("")]
40
- [SerializeField] protected FocusHandler FocusHandler = null;
41
-
42
-
43
- /// <summary>
44
- ///
45
- /// </summary>
46
- protected Line currentLine;
47
-
48
-
49
- /// <inheritdoc/>
50
- public virtual void OnLoadToLineEnd(Line currentLine) => InitializeActorFocus(currentLine);
51
-
52
- /// <summary>
53
- ///
54
- /// </summary>
55
- /// <param name="currentLine"></param>
56
- protected virtual void InitializeActorFocus(Line currentLine)
57
- {
58
- this.currentLine = currentLine;
59
-
60
- EvaluateActorFocus();
61
- }
62
-
63
- /// <summary>
64
- ///
65
- /// </summary>
66
- protected virtual void EvaluateActorFocus()
67
- {
68
- if (LinePansToCharacter())
69
- FocusPanToCharacterProcess();
70
- else if (NotSkippingPanning())
71
- FocusCurrentActor();
72
- }
73
-
74
- /// <summary>
75
- ///
76
- /// </summary>
77
- /// <returns></returns>
78
- protected virtual bool LinePansToCharacter() => currentLine.PanToChar;
79
-
80
- /// <summary>
81
- ///
82
- /// </summary>
83
- protected virtual void FocusPanToCharacterProcess()
84
- {
85
- Actor actorPan = null;
86
-
87
- if (currentLine.CharToPan != null)
88
- actorPan = (Actor)ServiceLocator.GetService<IObjectPooler<Talkable>>()
89
- .GetObjectByName(currentLine.CharToPan.FirstName);
90
-
91
- if (actorPan != null)
92
- FocusHandler.ChangeFocus(actorPan, (Actor)lastActor.Value);
93
-
94
- lastActor.SetValue(actorPan);
95
- }
96
-
97
- /// <summary>
98
- ///
99
- /// </summary>
100
- /// <returns></returns>
101
- protected virtual bool NotSkippingPanning() => currentActor.Value != null && !currentLine.DontPan &&
102
- (!loadingToLine.Value || lastActor.Value != currentActor.Value);
103
-
104
- /// <summary>
105
- ///
106
- /// </summary>
107
- protected virtual void FocusCurrentActor() => FocusHandler.ChangeFocus((Actor)currentActor.Value, (Actor)lastActor.Value);
108
- }
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.Dialogues;
3
+ using DREditor.Dialogues.Loading;
4
+ using DREditor.EventObjects;
5
+ using DREditor.Services;
6
+ using DREditor.Talkables;
7
+ using UnityEngine;
8
+
9
+ namespace DREditor.Actors.Implementation
10
+ {
11
+ /// <summary>
12
+ ///
13
+ /// </summary>
14
+ [ClassHeader(nameof(DialogueComponent) + ", " + nameof(ILoadToLineEnd) +
15
+ "\n\n")]
16
+ public class ActorFocusLoadEnd : DialogueComponent, ILoadToLineEnd
17
+ {
18
+ /// <summary>
19
+ ///
20
+ /// </summary>
21
+ [Tooltip("")]
22
+ [SerializeField] protected BoolWithEvent loadingToLine = null;
23
+
24
+ /// <summary>
25
+ ///
26
+ /// </summary>
27
+ [Tooltip("")]
28
+ [SerializeField] protected SelectableObjectWithEvent currentActor = null;
29
+
30
+ /// <summary>
31
+ ///
32
+ /// </summary>
33
+ [Tooltip("")]
34
+ [SerializeField] protected SelectableObjectWithEvent lastActor = null;
35
+
36
+ /// <summary>
37
+ ///
38
+ /// </summary>
39
+ [Tooltip("")]
40
+ [SerializeField] protected FocusHandler FocusHandler = null;
41
+
42
+
43
+ /// <summary>
44
+ ///
45
+ /// </summary>
46
+ protected Line currentLine;
47
+
48
+
49
+ /// <inheritdoc/>
50
+ public virtual void OnLoadToLineEnd(Line currentLine) => InitializeActorFocus(currentLine);
51
+
52
+ /// <summary>
53
+ ///
54
+ /// </summary>
55
+ /// <param name="currentLine"></param>
56
+ protected virtual void InitializeActorFocus(Line currentLine)
57
+ {
58
+ this.currentLine = currentLine;
59
+
60
+ EvaluateActorFocus();
61
+ }
62
+
63
+ /// <summary>
64
+ ///
65
+ /// </summary>
66
+ protected virtual void EvaluateActorFocus()
67
+ {
68
+ if (LinePansToCharacter())
69
+ FocusPanToCharacterProcess();
70
+ else if (NotSkippingPanning())
71
+ FocusCurrentActor();
72
+ }
73
+
74
+ /// <summary>
75
+ ///
76
+ /// </summary>
77
+ /// <returns></returns>
78
+ protected virtual bool LinePansToCharacter() => currentLine.PanToChar;
79
+
80
+ /// <summary>
81
+ ///
82
+ /// </summary>
83
+ protected virtual void FocusPanToCharacterProcess()
84
+ {
85
+ Actor actorPan = null;
86
+
87
+ if (currentLine.CharToPan != null)
88
+ actorPan = (Actor)ServiceLocator.GetService<IObjectPooler<Talkable>>()
89
+ .GetObjectByName(currentLine.CharToPan.FirstName);
90
+
91
+ if (actorPan != null)
92
+ FocusHandler.ChangeFocus(actorPan, (Actor)lastActor.Value);
93
+
94
+ lastActor.SetValue(actorPan);
95
+ }
96
+
97
+ /// <summary>
98
+ ///
99
+ /// </summary>
100
+ /// <returns></returns>
101
+ protected virtual bool NotSkippingPanning() => currentActor.Value != null && !currentLine.DontPan &&
102
+ (!loadingToLine.Value || lastActor.Value != currentActor.Value);
103
+
104
+ /// <summary>
105
+ ///
106
+ /// </summary>
107
+ protected virtual void FocusCurrentActor() => FocusHandler.ChangeFocus((Actor)currentActor.Value, (Actor)lastActor.Value);
108
+ }
109
109
  }
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: ac36e60798fe58447ae22f4420faaeb4
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: ac36e60798fe58447ae22f4420faaeb4
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant: