net.dreditor.roomloading 0.1.6 → 0.1.8
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/CheckThreeDModeDuringLoad.cs +63 -63
- package/CheckThreeDModeDuringLoad.cs.meta +11 -11
- package/DRERoomTransition.cs +115 -115
- package/DRERoomTransition.cs.meta +11 -11
- package/DREStartAloneScene.cs +178 -178
- package/DREStartAloneScene.cs.meta +11 -11
- package/DREditor.RoomLoading.asmdef +23 -23
- package/DREditor.RoomLoading.asmdef.meta +7 -7
- package/DialogueRoomLoader.cs +187 -187
- package/DialogueRoomLoader.cs.meta +11 -11
- package/FadeOnEndTransitionFromSave.cs +204 -204
- package/FadeOnEndTransitionFromSave.cs.meta +11 -11
- package/FadeOutGeneratePastOnDebugTest.cs +96 -96
- package/FadeOutGeneratePastOnDebugTest.cs.meta +11 -11
- package/FadeOutOnRoomLoad.cs +74 -74
- package/FadeOutOnRoomLoad.cs.meta +11 -11
- package/FreezeColorRoomTransition.cs +185 -185
- package/FreezeColorRoomTransition.cs.meta +11 -11
- package/IPostTransitionRoutine.cs +17 -17
- package/IPostTransitionRoutine.cs.meta +11 -11
- package/IRoomLoadResolver.cs +14 -14
- package/IRoomLoadResolver.cs.meta +11 -11
- package/IRoomLoadRoutine.cs +16 -16
- package/IRoomLoadRoutine.cs.meta +11 -11
- package/IRoomTransition.cs +38 -38
- package/IRoomTransition.cs.meta +11 -11
- package/ITeleporter.cs +23 -23
- package/ITeleporter.cs.meta +11 -11
- package/InstanceManagerBase.cs +130 -130
- package/InstanceManagerBase.cs.meta +11 -11
- package/KeepStateAfterObjective.cs +73 -73
- package/KeepStateAfterObjective.cs.meta +11 -11
- package/MoveEndOnDialogueFinish.cs +130 -130
- package/MoveEndOnDialogueFinish.cs.meta +11 -11
- package/PastPointData.cs +43 -43
- package/PastPointData.cs.meta +11 -11
- package/PrepareTPFDOnLoadingRoom.cs +67 -67
- package/PrepareTPFDOnLoadingRoom.cs.meta +11 -11
- package/ResolveRoomLoadStates.cs +94 -94
- package/ResolveRoomLoadStates.cs.meta +11 -11
- package/RoomChanger.cs +264 -264
- package/RoomChanger.cs.meta +11 -11
- package/RoomChangerBase.cs +84 -84
- package/RoomChangerBase.cs.meta +11 -11
- package/RoomChangerLoader.cs +89 -89
- package/RoomChangerLoader.cs.meta +11 -11
- package/RoomLoadComponent.cs +12 -12
- package/RoomLoadComponent.cs.meta +11 -11
- package/RoomLoadFinisher.cs +80 -80
- package/RoomLoadFinisher.cs.meta +11 -11
- package/RoomLoadOptionsAsset.cs +44 -44
- package/RoomLoadOptionsAsset.cs.meta +11 -11
- package/RoomLoader.cs +264 -264
- package/RoomLoader.cs.meta +11 -11
- package/RoomLoaderBase.cs +86 -86
- package/RoomLoaderBase.cs.meta +11 -11
- package/RoomLoaderDebugger.cs +150 -150
- package/RoomLoaderDebugger.cs.meta +11 -11
- package/RoomLoaderHolder.cs +9 -9
- package/RoomLoaderHolder.cs.meta +11 -11
- package/{Samples → Samples~}/BlackTransitionOnlyOption.asset +18 -18
- package/{Samples → Samples~}/BlackTransitionOnlyOption.asset.meta +8 -8
- package/{Samples → Samples~}/BlackTransitionToInvestigationOption.asset +18 -18
- package/{Samples → Samples~}/BlackTransitionToInvestigationOption.asset.meta +8 -8
- package/{Samples → Samples~}/Check_ThreeD_Mode_During_Load.prefab +49 -49
- package/{Samples → Samples~}/Check_ThreeD_Mode_During_Load.prefab.meta +7 -7
- package/{Samples → Samples~}/DRE_Start_Alone_Scene.prefab +148 -148
- package/{Samples → Samples~}/DRE_Start_Alone_Scene.prefab.meta +7 -7
- package/{Samples → Samples~}/Dialogue_Room_Loader.prefab +55 -55
- package/{Samples → Samples~}/Dialogue_Room_Loader.prefab.meta +7 -7
- package/{Samples → Samples~}/FadeOutBlackTransitionOption.asset +18 -18
- package/{Samples → Samples~}/FadeOutBlackTransitionOption.asset.meta +8 -8
- package/{Samples → Samples~}/Fade_On_End_Transition_From_Save.prefab +145 -145
- package/{Samples → Samples~}/Fade_On_End_Transition_From_Save.prefab.meta +7 -7
- package/{Samples → Samples~}/Fade_Out_Generate_Past_On_Debug_Test.prefab +139 -139
- package/{Samples → Samples~}/Fade_Out_Generate_Past_On_Debug_Test.prefab.meta +7 -7
- package/{Samples → Samples~}/Fade_Out_On_Room_Load.prefab +137 -137
- package/{Samples → Samples~}/Fade_Out_On_Room_Load.prefab.meta +7 -7
- package/{Samples → Samples~}/Freeze_Transition_Canvas.prefab +300 -300
- package/{Samples → Samples~}/Freeze_Transition_Canvas.prefab.meta +7 -7
- package/{Samples → Samples~}/IsLoadingToRoom.asset +19 -19
- package/{Samples → Samples~}/IsLoadingToRoom.asset.meta +8 -8
- package/{Samples → Samples~}/Move_End_On_Dialogue_Finish.prefab +52 -52
- package/{Samples → Samples~}/Move_End_On_Dialogue_Finish.prefab.meta +7 -7
- package/{Samples → Samples~}/OnFadingOutOfLoading.asset +15 -15
- package/{Samples → Samples~}/OnFadingOutOfLoading.asset.meta +8 -8
- package/{Samples → Samples~}/OnFinishedLoadingRoom.asset +14 -14
- package/{Samples → Samples~}/OnFinishedLoadingRoom.asset.meta +8 -8
- package/{Samples → Samples~}/OnLoadingThreeDRoom.asset +14 -14
- package/{Samples → Samples~}/OnLoadingThreeDRoom.asset.meta +8 -8
- package/{Samples → Samples~}/OnLoadingThreeDRoomListener.prefab +51 -51
- package/{Samples → Samples~}/OnLoadingThreeDRoomListener.prefab.meta +7 -7
- package/{Samples → Samples~}/On_Finished_Loading_Room_Listener.prefab +51 -51
- package/{Samples → Samples~}/On_Finished_Loading_Room_Listener.prefab.meta +7 -7
- package/{Samples → Samples~}/On_Finished_Loading_Room_No_Dialogue_Listener.prefab +51 -51
- package/{Samples → Samples~}/On_Finished_Loading_Room_No_Dialogue_Listener.prefab.meta +7 -7
- package/{Samples → Samples~}/On_Finished_Room_Transitions_Listener.prefab +51 -51
- package/{Samples → Samples~}/On_Finished_Room_Transitions_Listener.prefab.meta +7 -7
- package/{Samples → Samples~}/On_Loading_Room_Listener.prefab +51 -51
- package/{Samples → Samples~}/On_Loading_Room_Listener.prefab.meta +7 -7
- package/{Samples → Samples~}/On_Started_Changing_Room_Listener.prefab +51 -51
- package/{Samples → Samples~}/On_Started_Changing_Room_Listener.prefab.meta +7 -7
- package/{Samples → Samples~}/Prepare_TPFD_On_Room_Loading.prefab +142 -142
- package/{Samples → Samples~}/Prepare_TPFD_On_Room_Loading.prefab.meta +7 -7
- package/{Samples → Samples~}/Resolve_Room_Load_States.prefab +54 -54
- package/{Samples → Samples~}/Resolve_Room_Load_States.prefab.meta +7 -7
- package/{Samples → Samples~}/Room_Changer.prefab +143 -143
- package/{Samples → Samples~}/Room_Changer.prefab.meta +7 -7
- package/{Samples → Samples~}/Room_Changer_Loader.prefab +53 -53
- package/{Samples → Samples~}/Room_Changer_Loader.prefab.meta +7 -7
- package/{Samples → Samples~}/Room_Instance_Manager.prefab +78 -78
- package/{Samples → Samples~}/Room_Instance_Manager.prefab.meta +7 -7
- package/{Samples → Samples~}/Room_Load_Finisher.prefab +139 -139
- package/{Samples → Samples~}/Room_Load_Finisher.prefab.meta +7 -7
- package/{Samples → Samples~}/Room_Loader.prefab +584 -584
- package/{Samples → Samples~}/Room_Loader.prefab.meta +7 -7
- package/{Samples → Samples~}/Room_Loader_Event_Listeners.prefab +337 -337
- package/{Samples → Samples~}/Room_Loader_Event_Listeners.prefab.meta +7 -7
- package/{Samples → Samples~}/Room_Loading_System_ETemplate.prefab +398 -398
- package/{Samples → Samples~}/Room_Loading_System_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/SkipActivateControls.asset +19 -19
- package/{Samples → Samples~}/SkipActivateControls.asset.meta +8 -8
- package/{Samples → Samples~}/Skip_Controls_When_Loaded.prefab +156 -156
- package/{Samples → Samples~}/Skip_Controls_When_Loaded.prefab.meta +7 -7
- package/{Samples → Samples~}/TPFD_Room_Loader.prefab +215 -215
- package/{Samples → Samples~}/TPFD_Room_Loader.prefab.meta +7 -7
- package/{Samples → Samples~}/TeleportTransitionOptions.asset +18 -18
- package/{Samples → Samples~}/TeleportTransitionOptions.asset.meta +8 -8
- package/{Samples → Samples~}/Teleport_Room_Manager.prefab +84 -84
- package/{Samples → Samples~}/Teleport_Room_Manager.prefab.meta +7 -7
- package/{Samples → Samples~}/UI_Visibility_On_Scene_Events.prefab +316 -316
- package/{Samples → Samples~}/UI_Visibility_On_Scene_Events.prefab.meta +7 -7
- package/SkipControlsWhenLoaded.cs +65 -65
- package/SkipControlsWhenLoaded.cs.meta +11 -11
- package/TPFDRoomAnimation.cs +83 -83
- package/TPFDRoomAnimation.cs.meta +11 -11
- package/TPFDRoomLoader.cs +92 -92
- package/TPFDRoomLoader.cs.meta +11 -11
- package/TeleportRoomManager.cs +113 -113
- package/TeleportRoomManager.cs.meta +11 -11
- package/package.json +45 -40
- package/package.json.meta +7 -7
- package/Samples.meta +0 -8
package/.attestation.p7m
ADDED
|
Binary file
|
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
using DREditor.EventObjects;
|
|
3
|
-
using DREditor.Gates;
|
|
4
|
-
using DREditor.Services;
|
|
5
|
-
using System.Collections;
|
|
6
|
-
using UnityEngine;
|
|
7
|
-
using UnityEngine.SceneManagement;
|
|
8
|
-
using UnityEngine.Serialization;
|
|
9
|
-
|
|
10
|
-
namespace DREditor.RoomLoading
|
|
11
|
-
{
|
|
12
|
-
/// <summary>
|
|
13
|
-
///
|
|
14
|
-
/// </summary>
|
|
15
|
-
[ClassHeader(nameof(RoomLoadComponent) + ", " + nameof(IRoomLoadRoutine) +
|
|
16
|
-
"\n\n")]
|
|
17
|
-
public class CheckThreeDModeDuringLoad : RoomLoadComponent, IRoomLoadRoutine
|
|
18
|
-
{
|
|
19
|
-
/// <summary>
|
|
20
|
-
///
|
|
21
|
-
/// </summary>
|
|
22
|
-
[Tooltip("")]
|
|
23
|
-
[FormerlySerializedAs("GDB")]
|
|
24
|
-
[SerializeField] protected GateDatabase gateDatabase = null;
|
|
25
|
-
|
|
26
|
-
/// <summary>
|
|
27
|
-
///
|
|
28
|
-
/// </summary>
|
|
29
|
-
[Tooltip("")]
|
|
30
|
-
[SerializeField] protected BoolWithEvent inThreeDMode = null;
|
|
31
|
-
|
|
32
|
-
/// <summary>
|
|
33
|
-
///
|
|
34
|
-
/// </summary>
|
|
35
|
-
[Tooltip("")]
|
|
36
|
-
[SerializeField] protected BoolWithEvent isLoadingFile = null;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
/// <inheritdoc/>
|
|
40
|
-
public virtual IEnumerator OnRoomLoadRoutine()
|
|
41
|
-
{
|
|
42
|
-
CheckThreeDMode();
|
|
43
|
-
|
|
44
|
-
yield break;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/// <summary>
|
|
48
|
-
///
|
|
49
|
-
/// </summary>
|
|
50
|
-
protected virtual void CheckThreeDMode()
|
|
51
|
-
{
|
|
52
|
-
// Added 8-27-2024 because going dorm hallway ch 1 free time, laundromat tp, then leaving,
|
|
53
|
-
// always had sprite billboard looking where the player last was.
|
|
54
|
-
|
|
55
|
-
Gate changerDestination = ServiceLocator.GetService<RoomChangerBase>().GetDestination();
|
|
56
|
-
|
|
57
|
-
Gate destination = changerDestination != null ?
|
|
58
|
-
changerDestination : gateDatabase.GetArea(SceneManager.GetActiveScene().name);
|
|
59
|
-
|
|
60
|
-
if (destination != null && !destination.isTPFD && !isLoadingFile.Value)
|
|
61
|
-
inThreeDMode.SetValue(true);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using DREditor.EventObjects;
|
|
3
|
+
using DREditor.Gates;
|
|
4
|
+
using DREditor.Services;
|
|
5
|
+
using System.Collections;
|
|
6
|
+
using UnityEngine;
|
|
7
|
+
using UnityEngine.SceneManagement;
|
|
8
|
+
using UnityEngine.Serialization;
|
|
9
|
+
|
|
10
|
+
namespace DREditor.RoomLoading
|
|
11
|
+
{
|
|
12
|
+
/// <summary>
|
|
13
|
+
///
|
|
14
|
+
/// </summary>
|
|
15
|
+
[ClassHeader(nameof(RoomLoadComponent) + ", " + nameof(IRoomLoadRoutine) +
|
|
16
|
+
"\n\n")]
|
|
17
|
+
public class CheckThreeDModeDuringLoad : RoomLoadComponent, IRoomLoadRoutine
|
|
18
|
+
{
|
|
19
|
+
/// <summary>
|
|
20
|
+
///
|
|
21
|
+
/// </summary>
|
|
22
|
+
[Tooltip("")]
|
|
23
|
+
[FormerlySerializedAs("GDB")]
|
|
24
|
+
[SerializeField] protected GateDatabase gateDatabase = null;
|
|
25
|
+
|
|
26
|
+
/// <summary>
|
|
27
|
+
///
|
|
28
|
+
/// </summary>
|
|
29
|
+
[Tooltip("")]
|
|
30
|
+
[SerializeField] protected BoolWithEvent inThreeDMode = null;
|
|
31
|
+
|
|
32
|
+
/// <summary>
|
|
33
|
+
///
|
|
34
|
+
/// </summary>
|
|
35
|
+
[Tooltip("")]
|
|
36
|
+
[SerializeField] protected BoolWithEvent isLoadingFile = null;
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
/// <inheritdoc/>
|
|
40
|
+
public virtual IEnumerator OnRoomLoadRoutine()
|
|
41
|
+
{
|
|
42
|
+
CheckThreeDMode();
|
|
43
|
+
|
|
44
|
+
yield break;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/// <summary>
|
|
48
|
+
///
|
|
49
|
+
/// </summary>
|
|
50
|
+
protected virtual void CheckThreeDMode()
|
|
51
|
+
{
|
|
52
|
+
// Added 8-27-2024 because going dorm hallway ch 1 free time, laundromat tp, then leaving,
|
|
53
|
+
// always had sprite billboard looking where the player last was.
|
|
54
|
+
|
|
55
|
+
Gate changerDestination = ServiceLocator.GetService<RoomChangerBase>().GetDestination();
|
|
56
|
+
|
|
57
|
+
Gate destination = changerDestination != null ?
|
|
58
|
+
changerDestination : gateDatabase.GetArea(SceneManager.GetActiveScene().name);
|
|
59
|
+
|
|
60
|
+
if (destination != null && !destination.isTPFD && !isLoadingFile.Value)
|
|
61
|
+
inThreeDMode.SetValue(true);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
64
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: ebe363591a07fd24ebee4be8bb69f8ba
|
|
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: ebe363591a07fd24ebee4be8bb69f8ba
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
package/DRERoomTransition.cs
CHANGED
|
@@ -1,116 +1,116 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
using DREditor.EventObjects;
|
|
3
|
-
using DREditor.Services;
|
|
4
|
-
using System.Collections;
|
|
5
|
-
using UnityEngine;
|
|
6
|
-
|
|
7
|
-
namespace DREditor.RoomLoading
|
|
8
|
-
{
|
|
9
|
-
/// <summary>
|
|
10
|
-
///
|
|
11
|
-
/// </summary>
|
|
12
|
-
/// <remarks></remarks>
|
|
13
|
-
public abstract class DRERoomTransition : ServiceHolder<IRoomTransition>, IRoomTransition
|
|
14
|
-
{
|
|
15
|
-
public bool IsTransitioning => isTransitioning;
|
|
16
|
-
|
|
17
|
-
/// <summary>
|
|
18
|
-
///
|
|
19
|
-
/// </summary>
|
|
20
|
-
[Tooltip("")]
|
|
21
|
-
[SerializeField] protected bool replaceActiveTransition = false;
|
|
22
|
-
|
|
23
|
-
/// <summary>
|
|
24
|
-
///
|
|
25
|
-
/// </summary>
|
|
26
|
-
[Tooltip("")]
|
|
27
|
-
[SerializeField] protected BoolWithEvent inLoading = null;
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
/// <summary>
|
|
31
|
-
///
|
|
32
|
-
/// </summary>
|
|
33
|
-
protected IRoomTransition previousTransition;
|
|
34
|
-
|
|
35
|
-
/// <summary>
|
|
36
|
-
///
|
|
37
|
-
/// </summary>
|
|
38
|
-
protected bool isTransitioning;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
/// <summary>
|
|
42
|
-
///
|
|
43
|
-
/// </summary>
|
|
44
|
-
protected override void Awake()
|
|
45
|
-
{
|
|
46
|
-
if (replaceActiveTransition &&
|
|
47
|
-
ServiceLocator.HasService<IRoomTransition>() &&
|
|
48
|
-
ServiceLocator.GetService<IRoomTransition>() != this as IRoomTransition)
|
|
49
|
-
StartCoroutine(AttemptReplacingActiveTransition());
|
|
50
|
-
else
|
|
51
|
-
base.Awake();
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/// <summary>
|
|
55
|
-
///
|
|
56
|
-
/// </summary>
|
|
57
|
-
/// <returns></returns>
|
|
58
|
-
protected virtual IEnumerator AttemptReplacingActiveTransition()
|
|
59
|
-
{
|
|
60
|
-
yield return new WaitUntil(() => !ServiceLocator.GetService<IRoomTransition>().IsTransitioning && !inLoading.Value);
|
|
61
|
-
|
|
62
|
-
ReplaceActiveTransition();
|
|
63
|
-
|
|
64
|
-
base.Awake();
|
|
65
|
-
|
|
66
|
-
yield break;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/// <summary>
|
|
70
|
-
///
|
|
71
|
-
/// </summary>
|
|
72
|
-
protected virtual void ReplaceActiveTransition()
|
|
73
|
-
{
|
|
74
|
-
previousTransition = ServiceLocator.GetService<IRoomTransition>();
|
|
75
|
-
|
|
76
|
-
ServiceLocator.Unregister(previousTransition);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/// <summary>
|
|
80
|
-
///
|
|
81
|
-
/// </summary>
|
|
82
|
-
protected override void OnDestroy()
|
|
83
|
-
{
|
|
84
|
-
base.OnDestroy();
|
|
85
|
-
|
|
86
|
-
UnregisterTransition();
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/// <summary>
|
|
90
|
-
///
|
|
91
|
-
/// </summary>
|
|
92
|
-
protected virtual void UnregisterTransition()
|
|
93
|
-
{
|
|
94
|
-
if (ServiceLocator.HasService<IRoomTransition>() && ServiceLocator.GetService<IRoomTransition>() == this as IRoomTransition)
|
|
95
|
-
{
|
|
96
|
-
ServiceLocator.Unregister<IRoomTransition>(this);
|
|
97
|
-
|
|
98
|
-
if (previousTransition != null)
|
|
99
|
-
ServiceLocator.Register(previousTransition);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
/// <inheritdoc/>
|
|
105
|
-
public virtual void StartTransition() => StartCoroutine(StartTransitionRoutine());
|
|
106
|
-
|
|
107
|
-
/// <inheritdoc/>
|
|
108
|
-
public abstract IEnumerator StartTransitionRoutine();
|
|
109
|
-
|
|
110
|
-
/// <inheritdoc/>
|
|
111
|
-
public virtual void EndTransition() => StartCoroutine(EndTransitionRoutine());
|
|
112
|
-
|
|
113
|
-
/// <inheritdoc/>
|
|
114
|
-
public abstract IEnumerator EndTransitionRoutine();
|
|
115
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using DREditor.EventObjects;
|
|
3
|
+
using DREditor.Services;
|
|
4
|
+
using System.Collections;
|
|
5
|
+
using UnityEngine;
|
|
6
|
+
|
|
7
|
+
namespace DREditor.RoomLoading
|
|
8
|
+
{
|
|
9
|
+
/// <summary>
|
|
10
|
+
///
|
|
11
|
+
/// </summary>
|
|
12
|
+
/// <remarks></remarks>
|
|
13
|
+
public abstract class DRERoomTransition : ServiceHolder<IRoomTransition>, IRoomTransition
|
|
14
|
+
{
|
|
15
|
+
public bool IsTransitioning => isTransitioning;
|
|
16
|
+
|
|
17
|
+
/// <summary>
|
|
18
|
+
///
|
|
19
|
+
/// </summary>
|
|
20
|
+
[Tooltip("")]
|
|
21
|
+
[SerializeField] protected bool replaceActiveTransition = false;
|
|
22
|
+
|
|
23
|
+
/// <summary>
|
|
24
|
+
///
|
|
25
|
+
/// </summary>
|
|
26
|
+
[Tooltip("")]
|
|
27
|
+
[SerializeField] protected BoolWithEvent inLoading = null;
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
/// <summary>
|
|
31
|
+
///
|
|
32
|
+
/// </summary>
|
|
33
|
+
protected IRoomTransition previousTransition;
|
|
34
|
+
|
|
35
|
+
/// <summary>
|
|
36
|
+
///
|
|
37
|
+
/// </summary>
|
|
38
|
+
protected bool isTransitioning;
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
/// <summary>
|
|
42
|
+
///
|
|
43
|
+
/// </summary>
|
|
44
|
+
protected override void Awake()
|
|
45
|
+
{
|
|
46
|
+
if (replaceActiveTransition &&
|
|
47
|
+
ServiceLocator.HasService<IRoomTransition>() &&
|
|
48
|
+
ServiceLocator.GetService<IRoomTransition>() != this as IRoomTransition)
|
|
49
|
+
StartCoroutine(AttemptReplacingActiveTransition());
|
|
50
|
+
else
|
|
51
|
+
base.Awake();
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/// <summary>
|
|
55
|
+
///
|
|
56
|
+
/// </summary>
|
|
57
|
+
/// <returns></returns>
|
|
58
|
+
protected virtual IEnumerator AttemptReplacingActiveTransition()
|
|
59
|
+
{
|
|
60
|
+
yield return new WaitUntil(() => !ServiceLocator.GetService<IRoomTransition>().IsTransitioning && !inLoading.Value);
|
|
61
|
+
|
|
62
|
+
ReplaceActiveTransition();
|
|
63
|
+
|
|
64
|
+
base.Awake();
|
|
65
|
+
|
|
66
|
+
yield break;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/// <summary>
|
|
70
|
+
///
|
|
71
|
+
/// </summary>
|
|
72
|
+
protected virtual void ReplaceActiveTransition()
|
|
73
|
+
{
|
|
74
|
+
previousTransition = ServiceLocator.GetService<IRoomTransition>();
|
|
75
|
+
|
|
76
|
+
ServiceLocator.Unregister(previousTransition);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/// <summary>
|
|
80
|
+
///
|
|
81
|
+
/// </summary>
|
|
82
|
+
protected override void OnDestroy()
|
|
83
|
+
{
|
|
84
|
+
base.OnDestroy();
|
|
85
|
+
|
|
86
|
+
UnregisterTransition();
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/// <summary>
|
|
90
|
+
///
|
|
91
|
+
/// </summary>
|
|
92
|
+
protected virtual void UnregisterTransition()
|
|
93
|
+
{
|
|
94
|
+
if (ServiceLocator.HasService<IRoomTransition>() && ServiceLocator.GetService<IRoomTransition>() == this as IRoomTransition)
|
|
95
|
+
{
|
|
96
|
+
ServiceLocator.Unregister<IRoomTransition>(this);
|
|
97
|
+
|
|
98
|
+
if (previousTransition != null)
|
|
99
|
+
ServiceLocator.Register(previousTransition);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
/// <inheritdoc/>
|
|
105
|
+
public virtual void StartTransition() => StartCoroutine(StartTransitionRoutine());
|
|
106
|
+
|
|
107
|
+
/// <inheritdoc/>
|
|
108
|
+
public abstract IEnumerator StartTransitionRoutine();
|
|
109
|
+
|
|
110
|
+
/// <inheritdoc/>
|
|
111
|
+
public virtual void EndTransition() => StartCoroutine(EndTransitionRoutine());
|
|
112
|
+
|
|
113
|
+
/// <inheritdoc/>
|
|
114
|
+
public abstract IEnumerator EndTransitionRoutine();
|
|
115
|
+
}
|
|
116
116
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 26b9102e00e4b7e4d8f352daf3829783
|
|
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: 26b9102e00e4b7e4d8f352daf3829783
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|