net.dreditor.roomloading 0.0.0-stage → 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/CheckThreeDModeDuringLoad.cs +64 -0
- package/CheckThreeDModeDuringLoad.cs.meta +11 -0
- package/DRERoomTransition.cs +116 -0
- package/DRERoomTransition.cs.meta +11 -0
- package/DREStartAloneScene.cs +179 -0
- package/DREStartAloneScene.cs.meta +11 -0
- package/DREditor.RoomLoading.asmdef +24 -0
- package/DREditor.RoomLoading.asmdef.meta +7 -0
- package/DialogueRoomLoader.cs +188 -0
- package/DialogueRoomLoader.cs.meta +11 -0
- package/FadeOnEndTransitionFromSave.cs +205 -0
- package/FadeOnEndTransitionFromSave.cs.meta +11 -0
- package/FadeOutGeneratePastOnDebugTest.cs +97 -0
- package/FadeOutGeneratePastOnDebugTest.cs.meta +11 -0
- package/FadeOutOnRoomLoad.cs +75 -0
- package/FadeOutOnRoomLoad.cs.meta +11 -0
- package/FreezeColorRoomTransition.cs +186 -0
- package/FreezeColorRoomTransition.cs.meta +11 -0
- package/IPostTransitionRoutine.cs +17 -0
- package/IPostTransitionRoutine.cs.meta +11 -0
- package/IRoomLoadResolver.cs +15 -0
- package/IRoomLoadResolver.cs.meta +11 -0
- package/IRoomLoadRoutine.cs +17 -0
- package/IRoomLoadRoutine.cs.meta +11 -0
- package/IRoomTransition.cs +39 -0
- package/IRoomTransition.cs.meta +11 -0
- package/ITeleporter.cs +24 -0
- package/ITeleporter.cs.meta +11 -0
- package/InstanceManagerBase.cs +131 -0
- package/InstanceManagerBase.cs.meta +11 -0
- package/KeepStateAfterObjective.cs +74 -0
- package/KeepStateAfterObjective.cs.meta +11 -0
- package/MoveEndOnDialogueFinish.cs +131 -0
- package/MoveEndOnDialogueFinish.cs.meta +11 -0
- package/PastPointData.cs +44 -0
- package/PastPointData.cs.meta +11 -0
- package/PrepareTPFDOnLoadingRoom.cs +68 -0
- package/PrepareTPFDOnLoadingRoom.cs.meta +11 -0
- package/ResolveRoomLoadStates.cs +95 -0
- package/ResolveRoomLoadStates.cs.meta +11 -0
- package/RoomChanger.cs +265 -0
- package/RoomChanger.cs.meta +11 -0
- package/RoomChangerBase.cs +85 -0
- package/RoomChangerBase.cs.meta +11 -0
- package/RoomChangerLoader.cs +90 -0
- package/RoomChangerLoader.cs.meta +11 -0
- package/RoomLoadComponent.cs +13 -0
- package/RoomLoadComponent.cs.meta +11 -0
- package/RoomLoadFinisher.cs +81 -0
- package/RoomLoadFinisher.cs.meta +11 -0
- package/RoomLoadOptionsAsset.cs +45 -0
- package/RoomLoadOptionsAsset.cs.meta +11 -0
- package/RoomLoader.cs +265 -0
- package/RoomLoader.cs.meta +11 -0
- package/RoomLoaderBase.cs +87 -0
- package/RoomLoaderBase.cs.meta +11 -0
- package/RoomLoaderDebugger.cs +151 -0
- package/RoomLoaderDebugger.cs.meta +11 -0
- package/RoomLoaderHolder.cs +10 -0
- package/RoomLoaderHolder.cs.meta +11 -0
- package/Samples~/BlackTransitionOnlyOption.asset +18 -0
- package/Samples~/BlackTransitionOnlyOption.asset.meta +8 -0
- package/Samples~/BlackTransitionToInvestigationOption.asset +18 -0
- package/Samples~/BlackTransitionToInvestigationOption.asset.meta +8 -0
- package/Samples~/Check_ThreeD_Mode_During_Load.prefab +49 -0
- package/Samples~/Check_ThreeD_Mode_During_Load.prefab.meta +7 -0
- package/Samples~/DRE_Start_Alone_Scene.prefab +148 -0
- package/Samples~/DRE_Start_Alone_Scene.prefab.meta +7 -0
- package/Samples~/Dialogue_Room_Loader.prefab +55 -0
- package/Samples~/Dialogue_Room_Loader.prefab.meta +7 -0
- package/Samples~/FadeOutBlackTransitionOption.asset +18 -0
- package/Samples~/FadeOutBlackTransitionOption.asset.meta +8 -0
- package/Samples~/Fade_On_End_Transition_From_Save.prefab +145 -0
- package/Samples~/Fade_On_End_Transition_From_Save.prefab.meta +7 -0
- package/Samples~/Fade_Out_Generate_Past_On_Debug_Test.prefab +139 -0
- package/Samples~/Fade_Out_Generate_Past_On_Debug_Test.prefab.meta +7 -0
- package/Samples~/Fade_Out_On_Room_Load.prefab +137 -0
- package/Samples~/Fade_Out_On_Room_Load.prefab.meta +7 -0
- package/Samples~/Freeze_Transition_Canvas.prefab +300 -0
- package/Samples~/Freeze_Transition_Canvas.prefab.meta +7 -0
- package/Samples~/IsLoadingToRoom.asset +19 -0
- package/Samples~/IsLoadingToRoom.asset.meta +8 -0
- package/Samples~/Move_End_On_Dialogue_Finish.prefab +52 -0
- package/Samples~/Move_End_On_Dialogue_Finish.prefab.meta +7 -0
- package/Samples~/OnFadingOutOfLoading.asset +15 -0
- package/Samples~/OnFadingOutOfLoading.asset.meta +8 -0
- package/Samples~/OnFinishedLoadingRoom.asset +14 -0
- package/Samples~/OnFinishedLoadingRoom.asset.meta +8 -0
- package/Samples~/OnLoadingThreeDRoom.asset +14 -0
- package/Samples~/OnLoadingThreeDRoom.asset.meta +8 -0
- package/Samples~/OnLoadingThreeDRoomListener.prefab +51 -0
- package/Samples~/OnLoadingThreeDRoomListener.prefab.meta +7 -0
- package/Samples~/On_Finished_Loading_Room_Listener.prefab +51 -0
- package/Samples~/On_Finished_Loading_Room_Listener.prefab.meta +7 -0
- package/Samples~/On_Finished_Loading_Room_No_Dialogue_Listener.prefab +51 -0
- package/Samples~/On_Finished_Loading_Room_No_Dialogue_Listener.prefab.meta +7 -0
- package/Samples~/On_Finished_Room_Transitions_Listener.prefab +51 -0
- package/Samples~/On_Finished_Room_Transitions_Listener.prefab.meta +7 -0
- package/Samples~/On_Loading_Room_Listener.prefab +51 -0
- package/Samples~/On_Loading_Room_Listener.prefab.meta +7 -0
- package/Samples~/On_Started_Changing_Room_Listener.prefab +51 -0
- package/Samples~/On_Started_Changing_Room_Listener.prefab.meta +7 -0
- package/Samples~/Prepare_TPFD_On_Room_Loading.prefab +142 -0
- package/Samples~/Prepare_TPFD_On_Room_Loading.prefab.meta +7 -0
- package/Samples~/Resolve_Room_Load_States.prefab +54 -0
- package/Samples~/Resolve_Room_Load_States.prefab.meta +7 -0
- package/Samples~/Room_Changer.prefab +143 -0
- package/Samples~/Room_Changer.prefab.meta +7 -0
- package/Samples~/Room_Changer_Loader.prefab +53 -0
- package/Samples~/Room_Changer_Loader.prefab.meta +7 -0
- package/Samples~/Room_Instance_Manager.prefab +78 -0
- package/Samples~/Room_Instance_Manager.prefab.meta +7 -0
- package/Samples~/Room_Load_Finisher.prefab +139 -0
- package/Samples~/Room_Load_Finisher.prefab.meta +7 -0
- package/Samples~/Room_Loader.prefab +584 -0
- package/Samples~/Room_Loader.prefab.meta +7 -0
- package/Samples~/Room_Loader_Event_Listeners.prefab +337 -0
- package/Samples~/Room_Loader_Event_Listeners.prefab.meta +7 -0
- package/Samples~/Room_Loading_System_ETemplate.prefab +398 -0
- package/Samples~/Room_Loading_System_ETemplate.prefab.meta +7 -0
- package/Samples~/SkipActivateControls.asset +19 -0
- package/Samples~/SkipActivateControls.asset.meta +8 -0
- package/Samples~/Skip_Controls_When_Loaded.prefab +156 -0
- package/Samples~/Skip_Controls_When_Loaded.prefab.meta +7 -0
- package/Samples~/TPFD_Room_Loader.prefab +215 -0
- package/Samples~/TPFD_Room_Loader.prefab.meta +7 -0
- package/Samples~/TeleportTransitionOptions.asset +18 -0
- package/Samples~/TeleportTransitionOptions.asset.meta +8 -0
- package/Samples~/Teleport_Room_Manager.prefab +84 -0
- package/Samples~/Teleport_Room_Manager.prefab.meta +7 -0
- package/Samples~/UI_Visibility_On_Scene_Events.prefab +316 -0
- package/Samples~/UI_Visibility_On_Scene_Events.prefab.meta +7 -0
- package/SkipControlsWhenLoaded.cs +66 -0
- package/SkipControlsWhenLoaded.cs.meta +11 -0
- package/TPFDRoomAnimation.cs +84 -0
- package/TPFDRoomAnimation.cs.meta +11 -0
- package/TPFDRoomLoader.cs +93 -0
- package/TPFDRoomLoader.cs.meta +11 -0
- package/TeleportRoomManager.cs +114 -0
- package/TeleportRoomManager.cs.meta +11 -0
- package/package.json +43 -4
- package/package.json.meta +7 -0
- package/README.md +0 -3
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using System.Collections;
|
|
3
|
+
|
|
4
|
+
namespace DREditor.RoomLoading
|
|
5
|
+
{
|
|
6
|
+
/// <summary>
|
|
7
|
+
///
|
|
8
|
+
/// </summary>
|
|
9
|
+
public interface IRoomTransition
|
|
10
|
+
{
|
|
11
|
+
/// <summary>
|
|
12
|
+
///
|
|
13
|
+
/// </summary>
|
|
14
|
+
bool IsTransitioning { get; }
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
/// <summary>
|
|
18
|
+
///
|
|
19
|
+
/// </summary>
|
|
20
|
+
void StartTransition();
|
|
21
|
+
|
|
22
|
+
/// <summary>
|
|
23
|
+
///
|
|
24
|
+
/// </summary>
|
|
25
|
+
/// <returns></returns>
|
|
26
|
+
IEnumerator StartTransitionRoutine();
|
|
27
|
+
|
|
28
|
+
/// <summary>
|
|
29
|
+
///
|
|
30
|
+
/// </summary>
|
|
31
|
+
void EndTransition();
|
|
32
|
+
|
|
33
|
+
/// <summary>
|
|
34
|
+
///
|
|
35
|
+
/// </summary>
|
|
36
|
+
/// <returns></returns>
|
|
37
|
+
IEnumerator EndTransitionRoutine();
|
|
38
|
+
}
|
|
39
|
+
}
|
package/ITeleporter.cs
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
|
|
3
|
+
namespace DREditor.RoomLoading
|
|
4
|
+
{
|
|
5
|
+
/// <summary>
|
|
6
|
+
///
|
|
7
|
+
/// </summary>
|
|
8
|
+
public interface ITeleporter
|
|
9
|
+
{
|
|
10
|
+
/// <summary>
|
|
11
|
+
///
|
|
12
|
+
/// </summary>
|
|
13
|
+
/// <param name="sceneName"></param>
|
|
14
|
+
/// <param name="fastTravelIndex"></param>
|
|
15
|
+
/// <returns></returns>
|
|
16
|
+
bool RequestTeleport(string sceneName, int fastTravelIndex);
|
|
17
|
+
|
|
18
|
+
/// <summary>
|
|
19
|
+
///
|
|
20
|
+
/// </summary>
|
|
21
|
+
/// <returns></returns>
|
|
22
|
+
bool CanFastTravel();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
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
|
+
using UnityEngine.SceneManagement;
|
|
7
|
+
|
|
8
|
+
namespace DREditor.RoomLoading
|
|
9
|
+
{
|
|
10
|
+
/// <summary>
|
|
11
|
+
///
|
|
12
|
+
/// </summary>
|
|
13
|
+
/// <remarks></remarks>
|
|
14
|
+
public abstract class InstanceManagerBase : RoomLoadComponent, IRoomLoadRoutine, ISceneEventListener
|
|
15
|
+
{
|
|
16
|
+
/// <summary>
|
|
17
|
+
///
|
|
18
|
+
/// </summary>
|
|
19
|
+
[Header("")]
|
|
20
|
+
[Header("")]
|
|
21
|
+
[Divider]
|
|
22
|
+
[Tooltip("")]
|
|
23
|
+
[SerializeField] protected SceneEvent startedNewGame = null;
|
|
24
|
+
|
|
25
|
+
/// <summary>
|
|
26
|
+
///
|
|
27
|
+
/// </summary>
|
|
28
|
+
[Tooltip("")]
|
|
29
|
+
[SerializeField] protected bool dontDestroyOnLoad = true;
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
/// <summary>
|
|
33
|
+
///
|
|
34
|
+
/// </summary>
|
|
35
|
+
[Header("")]
|
|
36
|
+
[Divider]
|
|
37
|
+
[Tooltip("")]
|
|
38
|
+
[SerializeField] protected SceneEvent loadProgressionData = null;
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
/// <summary>
|
|
42
|
+
///
|
|
43
|
+
/// </summary>
|
|
44
|
+
[Header("")]
|
|
45
|
+
[Divider]
|
|
46
|
+
[Tooltip("")]
|
|
47
|
+
[SerializeField] protected BoolWithEvent onRoomInstanceLoaded = null;
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
/// <summary>
|
|
51
|
+
///
|
|
52
|
+
/// </summary>
|
|
53
|
+
protected virtual void Awake() => ServiceInitializer.Initialize<InstanceManagerBase>(this, dontDestroyOnLoad);
|
|
54
|
+
|
|
55
|
+
/// <summary>
|
|
56
|
+
///
|
|
57
|
+
/// </summary>
|
|
58
|
+
protected virtual void OnEnable() => startedNewGame.RegisterListener(this);
|
|
59
|
+
|
|
60
|
+
/// <summary>
|
|
61
|
+
///
|
|
62
|
+
/// </summary>
|
|
63
|
+
protected virtual void OnDisable() => startedNewGame.UnregisterListener(this);
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
/// <summary>
|
|
67
|
+
///
|
|
68
|
+
/// </summary>
|
|
69
|
+
public abstract void ClearData();
|
|
70
|
+
|
|
71
|
+
/// <summary>
|
|
72
|
+
///
|
|
73
|
+
/// </summary>
|
|
74
|
+
public abstract void ClearRoomData();
|
|
75
|
+
|
|
76
|
+
/// <summary>
|
|
77
|
+
///
|
|
78
|
+
/// </summary>
|
|
79
|
+
/// <param name="roomName"></param>
|
|
80
|
+
/// <returns></returns>
|
|
81
|
+
public virtual bool ContainsRoomDataFor(string roomName) => GetIndexOfRoom(roomName) != -1;
|
|
82
|
+
|
|
83
|
+
/// <summary>
|
|
84
|
+
///
|
|
85
|
+
/// </summary>
|
|
86
|
+
/// <param name="roomName"></param>
|
|
87
|
+
/// <returns></returns>
|
|
88
|
+
protected abstract int GetIndexOfRoom(string roomName);
|
|
89
|
+
|
|
90
|
+
/// <summary>
|
|
91
|
+
///
|
|
92
|
+
/// </summary>
|
|
93
|
+
/// <param name="roomName"></param>
|
|
94
|
+
public abstract void LoadRoomInstance(string roomName);
|
|
95
|
+
|
|
96
|
+
/// <summary>
|
|
97
|
+
///
|
|
98
|
+
/// </summary>
|
|
99
|
+
/// <param name="roomName"></param>
|
|
100
|
+
public abstract void SaveRoomInstance(string roomName);
|
|
101
|
+
|
|
102
|
+
/// <summary>
|
|
103
|
+
///
|
|
104
|
+
/// </summary>
|
|
105
|
+
/// <returns></returns>
|
|
106
|
+
protected virtual IEnumerator LoadRoomInstance()
|
|
107
|
+
{
|
|
108
|
+
LoadRoomInstance(SceneManager.GetActiveScene().name);
|
|
109
|
+
|
|
110
|
+
yield return new WaitUntil(() => onRoomInstanceLoaded.Value);
|
|
111
|
+
|
|
112
|
+
UnityEngine.Debug.Log($"{ToString()}: Finished Loading Room Instance.");
|
|
113
|
+
|
|
114
|
+
onRoomInstanceLoaded.SetValue(false);
|
|
115
|
+
|
|
116
|
+
yield break;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
/// <inheritdoc/>
|
|
121
|
+
public abstract IEnumerator OnRoomLoadRoutine();
|
|
122
|
+
|
|
123
|
+
/// <inheritdoc/>
|
|
124
|
+
public virtual void OnEventRaised()
|
|
125
|
+
{
|
|
126
|
+
ClearData();
|
|
127
|
+
|
|
128
|
+
ClearRoomData();
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using DREditor.EventObjects;
|
|
3
|
+
using DREditor.Progressing.Handling;
|
|
4
|
+
using DREditor.Services;
|
|
5
|
+
using System.Collections.Generic;
|
|
6
|
+
using UnityEngine;
|
|
7
|
+
|
|
8
|
+
namespace DREditor.RoomLoading
|
|
9
|
+
{
|
|
10
|
+
/// <summary>
|
|
11
|
+
///
|
|
12
|
+
/// </summary>
|
|
13
|
+
[ClassHeader("")]
|
|
14
|
+
public class KeepStateAfterObjective : SceneEventListener
|
|
15
|
+
{
|
|
16
|
+
/// <summary>
|
|
17
|
+
///
|
|
18
|
+
/// </summary>
|
|
19
|
+
[Header("")]
|
|
20
|
+
[Divider]
|
|
21
|
+
[Tooltip("")]
|
|
22
|
+
[SerializeField] protected List<PastPointData> states = new();
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
/// <summary>
|
|
26
|
+
///
|
|
27
|
+
/// </summary>
|
|
28
|
+
protected override void OnEnable()
|
|
29
|
+
{
|
|
30
|
+
base.OnEnable();
|
|
31
|
+
|
|
32
|
+
Response.AddListener(ApplyReleventState);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/// <summary>
|
|
36
|
+
///
|
|
37
|
+
/// </summary>
|
|
38
|
+
protected override void OnDisable()
|
|
39
|
+
{
|
|
40
|
+
base.OnDisable();
|
|
41
|
+
|
|
42
|
+
Response.RemoveListener(ApplyReleventState);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/// <summary>
|
|
46
|
+
///
|
|
47
|
+
/// </summary>
|
|
48
|
+
protected virtual void ApplyReleventState()
|
|
49
|
+
{
|
|
50
|
+
for (int i = states.Count-1; i >= 0; i--)
|
|
51
|
+
{
|
|
52
|
+
if (ServiceLocator.GetService<ProgressionManagerBase>().PassedPoint(states[i].chapterIndex, states[i].objective))
|
|
53
|
+
{
|
|
54
|
+
ApplyStateData(states[i]);
|
|
55
|
+
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/// <summary>
|
|
62
|
+
///
|
|
63
|
+
/// </summary>
|
|
64
|
+
/// <param name="state"></param>
|
|
65
|
+
protected virtual void ApplyStateData(PastPointData state)
|
|
66
|
+
{
|
|
67
|
+
gameObject.transform.position = state.position;
|
|
68
|
+
|
|
69
|
+
gameObject.transform.eulerAngles = state.rotation;
|
|
70
|
+
|
|
71
|
+
gameObject.SetActive(state.active);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
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.Finishing;
|
|
5
|
+
using DREditor.EventObjects;
|
|
6
|
+
using DREditor.Gates;
|
|
7
|
+
using DREditor.Services;
|
|
8
|
+
using UnityEngine;
|
|
9
|
+
using UnityEngine.SceneManagement;
|
|
10
|
+
|
|
11
|
+
namespace DREditor.RoomLoading
|
|
12
|
+
{
|
|
13
|
+
/// <summary>
|
|
14
|
+
///
|
|
15
|
+
/// </summary>
|
|
16
|
+
[ClassHeader(nameof(DialogueComponent) + ", " + nameof(IFinishableDialogueComponent) +
|
|
17
|
+
"\n\n")]
|
|
18
|
+
public class MoveEndOnDialogueFinish : DialogueComponent, IFinishableDialogueComponent
|
|
19
|
+
{
|
|
20
|
+
/// <summary>
|
|
21
|
+
///
|
|
22
|
+
/// </summary>
|
|
23
|
+
[Tooltip("")]
|
|
24
|
+
[SerializeField] protected BoolWithEvent isGoingToMainMenu = null;
|
|
25
|
+
|
|
26
|
+
/// <summary>
|
|
27
|
+
///
|
|
28
|
+
/// </summary>
|
|
29
|
+
[Tooltip("")]
|
|
30
|
+
[SerializeField] protected BoolWithEvent inLeaveProcess = null;
|
|
31
|
+
|
|
32
|
+
/// <summary>
|
|
33
|
+
///
|
|
34
|
+
/// </summary>
|
|
35
|
+
[Tooltip("")]
|
|
36
|
+
[SerializeField] protected string setMoveGateEventString = "MoveEndOnDialogueFinish";
|
|
37
|
+
|
|
38
|
+
/// <summary>
|
|
39
|
+
///
|
|
40
|
+
/// </summary>
|
|
41
|
+
[Tooltip("")]
|
|
42
|
+
[SerializeField] protected string disableControlsEventString = "DisableAbility";
|
|
43
|
+
|
|
44
|
+
/// <summary>
|
|
45
|
+
///
|
|
46
|
+
/// </summary>
|
|
47
|
+
[Tooltip("")]
|
|
48
|
+
[SerializeField] protected float finishOrder = 1;
|
|
49
|
+
|
|
50
|
+
/// <summary>
|
|
51
|
+
///
|
|
52
|
+
/// </summary>
|
|
53
|
+
[Tooltip("")]
|
|
54
|
+
[SerializeField] protected int finisherID = 1;
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
public float Order { get => finishOrder; }
|
|
58
|
+
|
|
59
|
+
public int ExclusiveHandlerID => finisherID;
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
/// <summary>
|
|
63
|
+
///
|
|
64
|
+
/// </summary>
|
|
65
|
+
protected Gate gateToMove = null;
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
/// <summary>
|
|
69
|
+
///
|
|
70
|
+
/// </summary>
|
|
71
|
+
protected virtual void OnEnable()
|
|
72
|
+
{
|
|
73
|
+
DialogueEventSystem.StartListening(setMoveGateEventString, SetGateToMoveTo);
|
|
74
|
+
|
|
75
|
+
SceneManager.sceneLoaded += ClearGateOnSceneLoad;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/// <summary>
|
|
79
|
+
///
|
|
80
|
+
/// </summary>
|
|
81
|
+
protected virtual void OnDisable()
|
|
82
|
+
{
|
|
83
|
+
DialogueEventSystem.StopListening(setMoveGateEventString, SetGateToMoveTo);
|
|
84
|
+
|
|
85
|
+
SceneManager.sceneLoaded -= ClearGateOnSceneLoad;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
/// <summary>
|
|
90
|
+
///
|
|
91
|
+
/// </summary>
|
|
92
|
+
/// <param name="o"></param>
|
|
93
|
+
public virtual void SetGateToMoveTo(object o = null) => gateToMove = (Gate)o;
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
/// <inheritdoc/>
|
|
97
|
+
public virtual void OnFinishDialogue() => CheckMoveOnFinish();
|
|
98
|
+
|
|
99
|
+
/// <summary>
|
|
100
|
+
///
|
|
101
|
+
/// </summary>
|
|
102
|
+
protected virtual void CheckMoveOnFinish()
|
|
103
|
+
{
|
|
104
|
+
if (gateToMove != null && !inLeaveProcess.Value)
|
|
105
|
+
MoveToRoom();
|
|
106
|
+
|
|
107
|
+
isGoingToMainMenu.SetValue(false);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/// <summary>
|
|
111
|
+
///
|
|
112
|
+
/// </summary>
|
|
113
|
+
protected virtual void MoveToRoom()
|
|
114
|
+
{
|
|
115
|
+
inLeaveProcess.SetValue(true);
|
|
116
|
+
|
|
117
|
+
DialogueEventSystem.TriggerEvent(disableControlsEventString);
|
|
118
|
+
|
|
119
|
+
ServiceLocator.GetService<RoomChangerBase>().ChangeRoom(gateToMove);
|
|
120
|
+
|
|
121
|
+
gateToMove = null;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/// <summary>
|
|
125
|
+
///
|
|
126
|
+
/// </summary>
|
|
127
|
+
/// <param name="scene"></param>
|
|
128
|
+
/// <param name="mode"></param>
|
|
129
|
+
protected virtual void ClearGateOnSceneLoad(Scene scene, LoadSceneMode mode) => gateToMove = null;
|
|
130
|
+
}
|
|
131
|
+
}
|
package/PastPointData.cs
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using System;
|
|
3
|
+
using UnityEngine;
|
|
4
|
+
|
|
5
|
+
namespace DREditor.RoomLoading
|
|
6
|
+
{
|
|
7
|
+
/// <summary>
|
|
8
|
+
///
|
|
9
|
+
/// </summary>
|
|
10
|
+
[CreateAssetMenu(menuName = "DREditor/Room Loading/Past Point Data", fileName = "PastPointData")]
|
|
11
|
+
[Serializable]
|
|
12
|
+
public class PastPointData : ScriptableObject
|
|
13
|
+
{
|
|
14
|
+
/// <summary>
|
|
15
|
+
///
|
|
16
|
+
/// </summary>
|
|
17
|
+
[Tooltip("")]
|
|
18
|
+
public int chapterIndex;
|
|
19
|
+
|
|
20
|
+
/// <summary>
|
|
21
|
+
///
|
|
22
|
+
/// </summary>
|
|
23
|
+
[Tooltip("")]
|
|
24
|
+
public string objective;
|
|
25
|
+
|
|
26
|
+
/// <summary>
|
|
27
|
+
///
|
|
28
|
+
/// </summary>
|
|
29
|
+
[Tooltip("")]
|
|
30
|
+
public bool active;
|
|
31
|
+
|
|
32
|
+
/// <summary>
|
|
33
|
+
///
|
|
34
|
+
/// </summary>
|
|
35
|
+
[Tooltip("")]
|
|
36
|
+
public Vector3 position;
|
|
37
|
+
|
|
38
|
+
/// <summary>
|
|
39
|
+
///
|
|
40
|
+
/// </summary>
|
|
41
|
+
[Tooltip("")]
|
|
42
|
+
public Vector3 rotation;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using DREditor.EventObjects;
|
|
3
|
+
using DREditor.Gates;
|
|
4
|
+
using UnityEngine;
|
|
5
|
+
using UnityEngine.SceneManagement;
|
|
6
|
+
using UnityEngine.Serialization;
|
|
7
|
+
|
|
8
|
+
namespace DREditor.RoomLoading
|
|
9
|
+
{
|
|
10
|
+
/// <summary>
|
|
11
|
+
///
|
|
12
|
+
/// </summary>
|
|
13
|
+
[ClassHeader("")]
|
|
14
|
+
public class PrepareTPFDOnLoadingRoom : MonoBehaviour
|
|
15
|
+
{
|
|
16
|
+
/// <summary>
|
|
17
|
+
///
|
|
18
|
+
/// </summary>
|
|
19
|
+
[Tooltip("")]
|
|
20
|
+
[FormerlySerializedAs("GDB")]
|
|
21
|
+
[SerializeField] protected GateDatabase gateDatabase = null;
|
|
22
|
+
|
|
23
|
+
/// <summary>
|
|
24
|
+
///
|
|
25
|
+
/// </summary>
|
|
26
|
+
[Tooltip("")]
|
|
27
|
+
[SerializeField] protected BoolWithEvent inTPFD = null;
|
|
28
|
+
|
|
29
|
+
/// <summary>
|
|
30
|
+
///
|
|
31
|
+
/// </summary>
|
|
32
|
+
[Tooltip("")]
|
|
33
|
+
[SerializeField] protected SceneEvent prepareTPFD = null;
|
|
34
|
+
|
|
35
|
+
/// <summary>
|
|
36
|
+
///
|
|
37
|
+
/// </summary>
|
|
38
|
+
[Tooltip("")]
|
|
39
|
+
[SerializeField] protected SceneEventListener onLoadingRoom = null;
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
/// <summary>
|
|
43
|
+
///
|
|
44
|
+
/// </summary>
|
|
45
|
+
protected virtual void OnEnable() => onLoadingRoom.Response.AddListener(PrepareForTPFD);
|
|
46
|
+
|
|
47
|
+
/// <summary>
|
|
48
|
+
///
|
|
49
|
+
/// </summary>
|
|
50
|
+
protected virtual void OnDisable() => onLoadingRoom.Response.RemoveListener(PrepareForTPFD);
|
|
51
|
+
|
|
52
|
+
/// <summary>
|
|
53
|
+
///
|
|
54
|
+
/// </summary>
|
|
55
|
+
protected virtual void PrepareForTPFD()
|
|
56
|
+
{
|
|
57
|
+
Gate gate = gateDatabase.GetArea(SceneManager.GetActiveScene().name);
|
|
58
|
+
|
|
59
|
+
if (gate != null && gate.isTPFD)
|
|
60
|
+
{
|
|
61
|
+
if (!inTPFD.Value)
|
|
62
|
+
inTPFD.SetValue(true);
|
|
63
|
+
|
|
64
|
+
prepareTPFD.Raise();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|