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,66 +1,66 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
using DREditor.DialogueEventHandling;
|
|
3
|
-
using DREditor.EventObjects;
|
|
4
|
-
using System.Collections;
|
|
5
|
-
using UnityEngine;
|
|
6
|
-
|
|
7
|
-
namespace DREditor.Actors.Events
|
|
8
|
-
{
|
|
9
|
-
/// <summary>
|
|
10
|
-
///
|
|
11
|
-
/// </summary>
|
|
12
|
-
[ClassHeader(nameof(DialogueEventHandler) +
|
|
13
|
-
"\n\n")]
|
|
14
|
-
public class ActorFaintEventRenderQ : ActorFaintEvent
|
|
15
|
-
{
|
|
16
|
-
/// <summary>
|
|
17
|
-
///
|
|
18
|
-
/// </summary>
|
|
19
|
-
[Header("")]
|
|
20
|
-
[Divider]
|
|
21
|
-
[Tooltip("")]
|
|
22
|
-
[SerializeField] protected StringWithEvent renderQCamCode = null;
|
|
23
|
-
|
|
24
|
-
/// <summary>
|
|
25
|
-
///
|
|
26
|
-
/// </summary>
|
|
27
|
-
[Tooltip("")]
|
|
28
|
-
[SerializeField] protected string faintingRenderQueueTag = "Fainting";
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
/// <inheritdoc/>
|
|
32
|
-
protected override void OnDialogueEventTriggered(object o)
|
|
33
|
-
{
|
|
34
|
-
renderQCamCode.SetValue(faintingRenderQueueTag);
|
|
35
|
-
|
|
36
|
-
base.OnDialogueEventTriggered(o);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/// <inheritdoc/>
|
|
40
|
-
protected override IEnumerator FaintAnim()
|
|
41
|
-
{
|
|
42
|
-
yield return base.FaintAnim();
|
|
43
|
-
|
|
44
|
-
RemoveFromRenderQ();
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/// <inheritdoc/>
|
|
48
|
-
protected override IEnumerator UnFaintAnimation(float toYPosition)
|
|
49
|
-
{
|
|
50
|
-
yield return base.UnFaintAnimation(toYPosition);
|
|
51
|
-
|
|
52
|
-
RemoveFromRenderQ();
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/// <summary>
|
|
56
|
-
///
|
|
57
|
-
/// </summary>
|
|
58
|
-
protected virtual void RemoveFromRenderQ()
|
|
59
|
-
{
|
|
60
|
-
if (renderQCamCode.Value == faintingRenderQueueTag)
|
|
61
|
-
renderQCamCode.Invoke();
|
|
62
|
-
else
|
|
63
|
-
renderQCamCode.SetValue(faintingRenderQueueTag);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using DREditor.DialogueEventHandling;
|
|
3
|
+
using DREditor.EventObjects;
|
|
4
|
+
using System.Collections;
|
|
5
|
+
using UnityEngine;
|
|
6
|
+
|
|
7
|
+
namespace DREditor.Actors.Events
|
|
8
|
+
{
|
|
9
|
+
/// <summary>
|
|
10
|
+
///
|
|
11
|
+
/// </summary>
|
|
12
|
+
[ClassHeader(nameof(DialogueEventHandler) +
|
|
13
|
+
"\n\n")]
|
|
14
|
+
public class ActorFaintEventRenderQ : ActorFaintEvent
|
|
15
|
+
{
|
|
16
|
+
/// <summary>
|
|
17
|
+
///
|
|
18
|
+
/// </summary>
|
|
19
|
+
[Header("")]
|
|
20
|
+
[Divider]
|
|
21
|
+
[Tooltip("")]
|
|
22
|
+
[SerializeField] protected StringWithEvent renderQCamCode = null;
|
|
23
|
+
|
|
24
|
+
/// <summary>
|
|
25
|
+
///
|
|
26
|
+
/// </summary>
|
|
27
|
+
[Tooltip("")]
|
|
28
|
+
[SerializeField] protected string faintingRenderQueueTag = "Fainting";
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
/// <inheritdoc/>
|
|
32
|
+
protected override void OnDialogueEventTriggered(object o)
|
|
33
|
+
{
|
|
34
|
+
renderQCamCode.SetValue(faintingRenderQueueTag);
|
|
35
|
+
|
|
36
|
+
base.OnDialogueEventTriggered(o);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/// <inheritdoc/>
|
|
40
|
+
protected override IEnumerator FaintAnim()
|
|
41
|
+
{
|
|
42
|
+
yield return base.FaintAnim();
|
|
43
|
+
|
|
44
|
+
RemoveFromRenderQ();
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/// <inheritdoc/>
|
|
48
|
+
protected override IEnumerator UnFaintAnimation(float toYPosition)
|
|
49
|
+
{
|
|
50
|
+
yield return base.UnFaintAnimation(toYPosition);
|
|
51
|
+
|
|
52
|
+
RemoveFromRenderQ();
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/// <summary>
|
|
56
|
+
///
|
|
57
|
+
/// </summary>
|
|
58
|
+
protected virtual void RemoveFromRenderQ()
|
|
59
|
+
{
|
|
60
|
+
if (renderQCamCode.Value == faintingRenderQueueTag)
|
|
61
|
+
renderQCamCode.Invoke();
|
|
62
|
+
else
|
|
63
|
+
renderQCamCode.SetValue(faintingRenderQueueTag);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
66
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: dc32a59578adaac4b856752a620ba251
|
|
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: dc32a59578adaac4b856752a620ba251
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
|
@@ -1,239 +1,239 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
using DREditor.DialogueEventHandling;
|
|
3
|
-
using DREditor.Dialogues;
|
|
4
|
-
using DREditor.Dialogues.Ending;
|
|
5
|
-
using DREditor.Dialogues.Events;
|
|
6
|
-
using DREditor.Dialogues.LineReading;
|
|
7
|
-
using DREditor.EventObjects;
|
|
8
|
-
using DREditor.Services;
|
|
9
|
-
using DREditor.Talkables;
|
|
10
|
-
using System;
|
|
11
|
-
using System.Collections.Generic;
|
|
12
|
-
using System.Linq;
|
|
13
|
-
using UnityEngine;
|
|
14
|
-
|
|
15
|
-
namespace DREditor.Actors.Events
|
|
16
|
-
{
|
|
17
|
-
/// <summary>
|
|
18
|
-
///
|
|
19
|
-
/// </summary>
|
|
20
|
-
[ClassHeader(nameof(DialogueEventHandler) +
|
|
21
|
-
"\n\n")]
|
|
22
|
-
public class ActorLeaveHandler : ActorFadeEvent, IToTitleScreen
|
|
23
|
-
{
|
|
24
|
-
/// <summary>
|
|
25
|
-
///
|
|
26
|
-
/// </summary>
|
|
27
|
-
[Header("")]
|
|
28
|
-
[Divider]
|
|
29
|
-
[Tooltip("")]
|
|
30
|
-
[SerializeField] protected BoolWithEvent isProtagSpeaking = null;
|
|
31
|
-
|
|
32
|
-
/// <summary>
|
|
33
|
-
///
|
|
34
|
-
/// </summary>
|
|
35
|
-
[Tooltip("")]
|
|
36
|
-
[SerializeField] protected BoolWithEvent isLoadingFile = null;
|
|
37
|
-
|
|
38
|
-
/// <summary>
|
|
39
|
-
///
|
|
40
|
-
/// </summary>
|
|
41
|
-
[Tooltip("")]
|
|
42
|
-
[SerializeField] protected SelectableObjectWithEvent currentActor = null;
|
|
43
|
-
|
|
44
|
-
/// <summary>
|
|
45
|
-
///
|
|
46
|
-
/// </summary>
|
|
47
|
-
[Tooltip("")]
|
|
48
|
-
[SerializeField] protected SelectableObjectWithEvent lastActor = null;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
[Header("")]
|
|
52
|
-
[Divider]
|
|
53
|
-
[SerializeField] protected Vector3 designatedExitPosition = new(0, -20, 0);
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
/// <summary>
|
|
57
|
-
///
|
|
58
|
-
/// </summary>
|
|
59
|
-
protected IDialogueEnder DialogueEnder = null;
|
|
60
|
-
|
|
61
|
-
/// <summary>
|
|
62
|
-
///
|
|
63
|
-
/// </summary>
|
|
64
|
-
protected ILineReader LineReader = null;
|
|
65
|
-
|
|
66
|
-
/// <summary>
|
|
67
|
-
///
|
|
68
|
-
/// </summary>
|
|
69
|
-
protected bool exit = false;
|
|
70
|
-
|
|
71
|
-
/// <summary>
|
|
72
|
-
///
|
|
73
|
-
/// </summary>
|
|
74
|
-
protected readonly List<Action> delegates = new();
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
/// <summary>
|
|
78
|
-
///
|
|
79
|
-
/// </summary>
|
|
80
|
-
/// <param name="o"></param>
|
|
81
|
-
protected override void OnDialogueEventTriggered(object o = null)
|
|
82
|
-
{
|
|
83
|
-
CharacterLeave characterLeaveTuple = (CharacterLeave)o;
|
|
84
|
-
|
|
85
|
-
Talkable talkable = characterLeaveTuple.current ? (Talkable)currentActor.Value : (Talkable)lastActor.Value;
|
|
86
|
-
|
|
87
|
-
if (talkable is Actor actor)
|
|
88
|
-
EvaluateCharacterLeave(characterLeaveTuple, actor);
|
|
89
|
-
else
|
|
90
|
-
UnityEngine.Debug.LogWarning($"{ToString()}: WARNING!: Could Not get the actor for Character Leave");
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
/// <summary>
|
|
94
|
-
///
|
|
95
|
-
/// </summary>
|
|
96
|
-
/// <param name="leaveEvent"></param>
|
|
97
|
-
/// <param name="actor"></param>
|
|
98
|
-
protected virtual void EvaluateCharacterLeave(CharacterLeave leaveEvent, Actor actor)
|
|
99
|
-
{
|
|
100
|
-
exit = leaveEvent.exit;
|
|
101
|
-
|
|
102
|
-
if (leaveEvent.appear)
|
|
103
|
-
spriteFader.ActorAppear(actor);
|
|
104
|
-
else if (leaveEvent.current && !isProtagSpeaking.Value)
|
|
105
|
-
ActorLeft(actor);
|
|
106
|
-
else if (lastActor.Value is Actor actorToLeave)
|
|
107
|
-
ActorLeft(actorToLeave);
|
|
108
|
-
else
|
|
109
|
-
UnityEngine.Debug.LogWarning($"{ToString()}: WARNING!: Could Not get the actor for Character Leave");
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/// <summary>
|
|
113
|
-
///
|
|
114
|
-
/// </summary>
|
|
115
|
-
/// <param name="actor"></param>
|
|
116
|
-
protected virtual void ActorLeft(Actor actor)
|
|
117
|
-
{
|
|
118
|
-
spriteFader.ActorDisappear(actor);
|
|
119
|
-
|
|
120
|
-
if (exit)
|
|
121
|
-
ActorLeaveExitProcess(actor);
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
/// <summary>
|
|
126
|
-
///
|
|
127
|
-
/// </summary>
|
|
128
|
-
/// <remarks></remarks>
|
|
129
|
-
/// <param name="actor"></param>
|
|
130
|
-
protected virtual void ActorLeaveExitProcess(Actor actor)
|
|
131
|
-
{
|
|
132
|
-
if (ExitProcessShouldBeCanceled(actor))
|
|
133
|
-
return;
|
|
134
|
-
|
|
135
|
-
if (!ServiceLocator.GetService<IDialogueManager>().GetReader().IsOnLastLine())
|
|
136
|
-
{
|
|
137
|
-
LineReader = ServiceLocator.GetService<IDialogueManager>()
|
|
138
|
-
.GetComponentsInChildren<MonoBehaviour>()
|
|
139
|
-
.OfType<ILineReader>()
|
|
140
|
-
.FirstOrDefault();
|
|
141
|
-
|
|
142
|
-
void handler()
|
|
143
|
-
{
|
|
144
|
-
ExitChar(actor);
|
|
145
|
-
|
|
146
|
-
LineReader.OnLineStart -= handler;
|
|
147
|
-
|
|
148
|
-
delegates.Remove(handler);
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
delegates.Add(handler);
|
|
152
|
-
|
|
153
|
-
LineReader.OnLineStart += handler;
|
|
154
|
-
}
|
|
155
|
-
else
|
|
156
|
-
{
|
|
157
|
-
UnityEngine.Debug.Log($"{ToString()}: REPORT: Adding exit character to the end of the line." +
|
|
158
|
-
$"\nPROPOSAL: If any bugs occur, contact the developer and notify them of the bug that occured " +
|
|
159
|
-
$"if it happened almost immediately after the current dialogue ends.");
|
|
160
|
-
|
|
161
|
-
DialogueEnder = ServiceLocator.GetService<IDialogueManager>().GetEnder();
|
|
162
|
-
|
|
163
|
-
void handler()
|
|
164
|
-
{
|
|
165
|
-
ExitChar(actor);
|
|
166
|
-
|
|
167
|
-
DialogueEnder.OnDialogueResolving -= handler;
|
|
168
|
-
|
|
169
|
-
delegates.Remove(handler);
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
delegates.Add(handler);
|
|
173
|
-
|
|
174
|
-
DialogueEnder.OnDialogueResolving += handler;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
/// <summary>
|
|
179
|
-
///
|
|
180
|
-
/// </summary>
|
|
181
|
-
/// <remarks></remarks>
|
|
182
|
-
/// <param name="actor"></param>
|
|
183
|
-
/// <returns></returns>
|
|
184
|
-
protected virtual bool ExitProcessShouldBeCanceled(Actor actor)
|
|
185
|
-
{
|
|
186
|
-
bool result = actor == null || isLoadingFile.Value;
|
|
187
|
-
|
|
188
|
-
if (actor == null)
|
|
189
|
-
UnityEngine.Debug.LogWarning($"{ToString()}: REPORT: ExitChar was called but the actor was null or destroyed.");
|
|
190
|
-
|
|
191
|
-
if (isLoadingFile.Value)
|
|
192
|
-
{
|
|
193
|
-
UnityEngine.Debug.Log($"{ToString()}: Loading File Skip Leaving: " + actor.DisplayName);
|
|
194
|
-
|
|
195
|
-
ExitChar(actor);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
return result;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
/// <summary>
|
|
202
|
-
///
|
|
203
|
-
/// </summary>
|
|
204
|
-
/// <param name="actor"></param>
|
|
205
|
-
protected virtual void ExitChar(Actor actor)
|
|
206
|
-
{
|
|
207
|
-
UnityEngine.Debug.Log(ToString() + ": Exiting character: " + actor.gameObject.name);
|
|
208
|
-
|
|
209
|
-
actor.transform.position = designatedExitPosition;
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
/// <inheritdoc/>
|
|
214
|
-
public virtual void ToTitleScreen() => RemoveAllEvents();
|
|
215
|
-
|
|
216
|
-
/// <summary>
|
|
217
|
-
///
|
|
218
|
-
/// </summary>
|
|
219
|
-
protected virtual void RemoveAllEvents()
|
|
220
|
-
{
|
|
221
|
-
foreach (Action eh in delegates)
|
|
222
|
-
{
|
|
223
|
-
if (LineReader != null)
|
|
224
|
-
LineReader.OnLineStart -= eh;
|
|
225
|
-
|
|
226
|
-
if (DialogueEnder != null)
|
|
227
|
-
DialogueEnder.OnDialogueResolving -= eh;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
delegates.Clear();
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
/// <summary>
|
|
234
|
-
///
|
|
235
|
-
/// </summary>
|
|
236
|
-
[ContextMenu("Set Default Event")]
|
|
237
|
-
public void SetDefaultEvent() => SetDefaultEventString("CharacterLeave");
|
|
238
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using DREditor.DialogueEventHandling;
|
|
3
|
+
using DREditor.Dialogues;
|
|
4
|
+
using DREditor.Dialogues.Ending;
|
|
5
|
+
using DREditor.Dialogues.Events;
|
|
6
|
+
using DREditor.Dialogues.LineReading;
|
|
7
|
+
using DREditor.EventObjects;
|
|
8
|
+
using DREditor.Services;
|
|
9
|
+
using DREditor.Talkables;
|
|
10
|
+
using System;
|
|
11
|
+
using System.Collections.Generic;
|
|
12
|
+
using System.Linq;
|
|
13
|
+
using UnityEngine;
|
|
14
|
+
|
|
15
|
+
namespace DREditor.Actors.Events
|
|
16
|
+
{
|
|
17
|
+
/// <summary>
|
|
18
|
+
///
|
|
19
|
+
/// </summary>
|
|
20
|
+
[ClassHeader(nameof(DialogueEventHandler) +
|
|
21
|
+
"\n\n")]
|
|
22
|
+
public class ActorLeaveHandler : ActorFadeEvent, IToTitleScreen
|
|
23
|
+
{
|
|
24
|
+
/// <summary>
|
|
25
|
+
///
|
|
26
|
+
/// </summary>
|
|
27
|
+
[Header("")]
|
|
28
|
+
[Divider]
|
|
29
|
+
[Tooltip("")]
|
|
30
|
+
[SerializeField] protected BoolWithEvent isProtagSpeaking = null;
|
|
31
|
+
|
|
32
|
+
/// <summary>
|
|
33
|
+
///
|
|
34
|
+
/// </summary>
|
|
35
|
+
[Tooltip("")]
|
|
36
|
+
[SerializeField] protected BoolWithEvent isLoadingFile = null;
|
|
37
|
+
|
|
38
|
+
/// <summary>
|
|
39
|
+
///
|
|
40
|
+
/// </summary>
|
|
41
|
+
[Tooltip("")]
|
|
42
|
+
[SerializeField] protected SelectableObjectWithEvent currentActor = null;
|
|
43
|
+
|
|
44
|
+
/// <summary>
|
|
45
|
+
///
|
|
46
|
+
/// </summary>
|
|
47
|
+
[Tooltip("")]
|
|
48
|
+
[SerializeField] protected SelectableObjectWithEvent lastActor = null;
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
[Header("")]
|
|
52
|
+
[Divider]
|
|
53
|
+
[SerializeField] protected Vector3 designatedExitPosition = new(0, -20, 0);
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
/// <summary>
|
|
57
|
+
///
|
|
58
|
+
/// </summary>
|
|
59
|
+
protected IDialogueEnder DialogueEnder = null;
|
|
60
|
+
|
|
61
|
+
/// <summary>
|
|
62
|
+
///
|
|
63
|
+
/// </summary>
|
|
64
|
+
protected ILineReader LineReader = null;
|
|
65
|
+
|
|
66
|
+
/// <summary>
|
|
67
|
+
///
|
|
68
|
+
/// </summary>
|
|
69
|
+
protected bool exit = false;
|
|
70
|
+
|
|
71
|
+
/// <summary>
|
|
72
|
+
///
|
|
73
|
+
/// </summary>
|
|
74
|
+
protected readonly List<Action> delegates = new();
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
/// <summary>
|
|
78
|
+
///
|
|
79
|
+
/// </summary>
|
|
80
|
+
/// <param name="o"></param>
|
|
81
|
+
protected override void OnDialogueEventTriggered(object o = null)
|
|
82
|
+
{
|
|
83
|
+
CharacterLeave characterLeaveTuple = (CharacterLeave)o;
|
|
84
|
+
|
|
85
|
+
Talkable talkable = characterLeaveTuple.current ? (Talkable)currentActor.Value : (Talkable)lastActor.Value;
|
|
86
|
+
|
|
87
|
+
if (talkable is Actor actor)
|
|
88
|
+
EvaluateCharacterLeave(characterLeaveTuple, actor);
|
|
89
|
+
else
|
|
90
|
+
UnityEngine.Debug.LogWarning($"{ToString()}: WARNING!: Could Not get the actor for Character Leave");
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/// <summary>
|
|
94
|
+
///
|
|
95
|
+
/// </summary>
|
|
96
|
+
/// <param name="leaveEvent"></param>
|
|
97
|
+
/// <param name="actor"></param>
|
|
98
|
+
protected virtual void EvaluateCharacterLeave(CharacterLeave leaveEvent, Actor actor)
|
|
99
|
+
{
|
|
100
|
+
exit = leaveEvent.exit;
|
|
101
|
+
|
|
102
|
+
if (leaveEvent.appear)
|
|
103
|
+
spriteFader.ActorAppear(actor);
|
|
104
|
+
else if (leaveEvent.current && !isProtagSpeaking.Value)
|
|
105
|
+
ActorLeft(actor);
|
|
106
|
+
else if (lastActor.Value is Actor actorToLeave)
|
|
107
|
+
ActorLeft(actorToLeave);
|
|
108
|
+
else
|
|
109
|
+
UnityEngine.Debug.LogWarning($"{ToString()}: WARNING!: Could Not get the actor for Character Leave");
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/// <summary>
|
|
113
|
+
///
|
|
114
|
+
/// </summary>
|
|
115
|
+
/// <param name="actor"></param>
|
|
116
|
+
protected virtual void ActorLeft(Actor actor)
|
|
117
|
+
{
|
|
118
|
+
spriteFader.ActorDisappear(actor);
|
|
119
|
+
|
|
120
|
+
if (exit)
|
|
121
|
+
ActorLeaveExitProcess(actor);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
/// <summary>
|
|
126
|
+
///
|
|
127
|
+
/// </summary>
|
|
128
|
+
/// <remarks></remarks>
|
|
129
|
+
/// <param name="actor"></param>
|
|
130
|
+
protected virtual void ActorLeaveExitProcess(Actor actor)
|
|
131
|
+
{
|
|
132
|
+
if (ExitProcessShouldBeCanceled(actor))
|
|
133
|
+
return;
|
|
134
|
+
|
|
135
|
+
if (!ServiceLocator.GetService<IDialogueManager>().GetReader().IsOnLastLine())
|
|
136
|
+
{
|
|
137
|
+
LineReader = ServiceLocator.GetService<IDialogueManager>()
|
|
138
|
+
.GetComponentsInChildren<MonoBehaviour>()
|
|
139
|
+
.OfType<ILineReader>()
|
|
140
|
+
.FirstOrDefault();
|
|
141
|
+
|
|
142
|
+
void handler()
|
|
143
|
+
{
|
|
144
|
+
ExitChar(actor);
|
|
145
|
+
|
|
146
|
+
LineReader.OnLineStart -= handler;
|
|
147
|
+
|
|
148
|
+
delegates.Remove(handler);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
delegates.Add(handler);
|
|
152
|
+
|
|
153
|
+
LineReader.OnLineStart += handler;
|
|
154
|
+
}
|
|
155
|
+
else
|
|
156
|
+
{
|
|
157
|
+
UnityEngine.Debug.Log($"{ToString()}: REPORT: Adding exit character to the end of the line." +
|
|
158
|
+
$"\nPROPOSAL: If any bugs occur, contact the developer and notify them of the bug that occured " +
|
|
159
|
+
$"if it happened almost immediately after the current dialogue ends.");
|
|
160
|
+
|
|
161
|
+
DialogueEnder = ServiceLocator.GetService<IDialogueManager>().GetEnder();
|
|
162
|
+
|
|
163
|
+
void handler()
|
|
164
|
+
{
|
|
165
|
+
ExitChar(actor);
|
|
166
|
+
|
|
167
|
+
DialogueEnder.OnDialogueResolving -= handler;
|
|
168
|
+
|
|
169
|
+
delegates.Remove(handler);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
delegates.Add(handler);
|
|
173
|
+
|
|
174
|
+
DialogueEnder.OnDialogueResolving += handler;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/// <summary>
|
|
179
|
+
///
|
|
180
|
+
/// </summary>
|
|
181
|
+
/// <remarks></remarks>
|
|
182
|
+
/// <param name="actor"></param>
|
|
183
|
+
/// <returns></returns>
|
|
184
|
+
protected virtual bool ExitProcessShouldBeCanceled(Actor actor)
|
|
185
|
+
{
|
|
186
|
+
bool result = actor == null || isLoadingFile.Value;
|
|
187
|
+
|
|
188
|
+
if (actor == null)
|
|
189
|
+
UnityEngine.Debug.LogWarning($"{ToString()}: REPORT: ExitChar was called but the actor was null or destroyed.");
|
|
190
|
+
|
|
191
|
+
if (isLoadingFile.Value)
|
|
192
|
+
{
|
|
193
|
+
UnityEngine.Debug.Log($"{ToString()}: Loading File Skip Leaving: " + actor.DisplayName);
|
|
194
|
+
|
|
195
|
+
ExitChar(actor);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
return result;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/// <summary>
|
|
202
|
+
///
|
|
203
|
+
/// </summary>
|
|
204
|
+
/// <param name="actor"></param>
|
|
205
|
+
protected virtual void ExitChar(Actor actor)
|
|
206
|
+
{
|
|
207
|
+
UnityEngine.Debug.Log(ToString() + ": Exiting character: " + actor.gameObject.name);
|
|
208
|
+
|
|
209
|
+
actor.transform.position = designatedExitPosition;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
/// <inheritdoc/>
|
|
214
|
+
public virtual void ToTitleScreen() => RemoveAllEvents();
|
|
215
|
+
|
|
216
|
+
/// <summary>
|
|
217
|
+
///
|
|
218
|
+
/// </summary>
|
|
219
|
+
protected virtual void RemoveAllEvents()
|
|
220
|
+
{
|
|
221
|
+
foreach (Action eh in delegates)
|
|
222
|
+
{
|
|
223
|
+
if (LineReader != null)
|
|
224
|
+
LineReader.OnLineStart -= eh;
|
|
225
|
+
|
|
226
|
+
if (DialogueEnder != null)
|
|
227
|
+
DialogueEnder.OnDialogueResolving -= eh;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
delegates.Clear();
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
/// <summary>
|
|
234
|
+
///
|
|
235
|
+
/// </summary>
|
|
236
|
+
[ContextMenu("Set Default Event")]
|
|
237
|
+
public void SetDefaultEvent() => SetDefaultEventString("CharacterLeave");
|
|
238
|
+
}
|
|
239
239
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: a0aeeece5cc99174e96dff9f5d6d9425
|
|
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: a0aeeece5cc99174e96dff9f5d6d9425
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|