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.
Files changed (144) hide show
  1. package/.attestation.p7m +0 -0
  2. package/CheckThreeDModeDuringLoad.cs +63 -63
  3. package/CheckThreeDModeDuringLoad.cs.meta +11 -11
  4. package/DRERoomTransition.cs +115 -115
  5. package/DRERoomTransition.cs.meta +11 -11
  6. package/DREStartAloneScene.cs +178 -178
  7. package/DREStartAloneScene.cs.meta +11 -11
  8. package/DREditor.RoomLoading.asmdef +23 -23
  9. package/DREditor.RoomLoading.asmdef.meta +7 -7
  10. package/DialogueRoomLoader.cs +187 -187
  11. package/DialogueRoomLoader.cs.meta +11 -11
  12. package/FadeOnEndTransitionFromSave.cs +204 -204
  13. package/FadeOnEndTransitionFromSave.cs.meta +11 -11
  14. package/FadeOutGeneratePastOnDebugTest.cs +96 -96
  15. package/FadeOutGeneratePastOnDebugTest.cs.meta +11 -11
  16. package/FadeOutOnRoomLoad.cs +74 -74
  17. package/FadeOutOnRoomLoad.cs.meta +11 -11
  18. package/FreezeColorRoomTransition.cs +185 -185
  19. package/FreezeColorRoomTransition.cs.meta +11 -11
  20. package/IPostTransitionRoutine.cs +17 -17
  21. package/IPostTransitionRoutine.cs.meta +11 -11
  22. package/IRoomLoadResolver.cs +14 -14
  23. package/IRoomLoadResolver.cs.meta +11 -11
  24. package/IRoomLoadRoutine.cs +16 -16
  25. package/IRoomLoadRoutine.cs.meta +11 -11
  26. package/IRoomTransition.cs +38 -38
  27. package/IRoomTransition.cs.meta +11 -11
  28. package/ITeleporter.cs +23 -23
  29. package/ITeleporter.cs.meta +11 -11
  30. package/InstanceManagerBase.cs +130 -130
  31. package/InstanceManagerBase.cs.meta +11 -11
  32. package/KeepStateAfterObjective.cs +73 -73
  33. package/KeepStateAfterObjective.cs.meta +11 -11
  34. package/MoveEndOnDialogueFinish.cs +130 -130
  35. package/MoveEndOnDialogueFinish.cs.meta +11 -11
  36. package/PastPointData.cs +43 -43
  37. package/PastPointData.cs.meta +11 -11
  38. package/PrepareTPFDOnLoadingRoom.cs +67 -67
  39. package/PrepareTPFDOnLoadingRoom.cs.meta +11 -11
  40. package/ResolveRoomLoadStates.cs +94 -94
  41. package/ResolveRoomLoadStates.cs.meta +11 -11
  42. package/RoomChanger.cs +264 -264
  43. package/RoomChanger.cs.meta +11 -11
  44. package/RoomChangerBase.cs +84 -84
  45. package/RoomChangerBase.cs.meta +11 -11
  46. package/RoomChangerLoader.cs +89 -89
  47. package/RoomChangerLoader.cs.meta +11 -11
  48. package/RoomLoadComponent.cs +12 -12
  49. package/RoomLoadComponent.cs.meta +11 -11
  50. package/RoomLoadFinisher.cs +80 -80
  51. package/RoomLoadFinisher.cs.meta +11 -11
  52. package/RoomLoadOptionsAsset.cs +44 -44
  53. package/RoomLoadOptionsAsset.cs.meta +11 -11
  54. package/RoomLoader.cs +264 -264
  55. package/RoomLoader.cs.meta +11 -11
  56. package/RoomLoaderBase.cs +86 -86
  57. package/RoomLoaderBase.cs.meta +11 -11
  58. package/RoomLoaderDebugger.cs +150 -150
  59. package/RoomLoaderDebugger.cs.meta +11 -11
  60. package/RoomLoaderHolder.cs +9 -9
  61. package/RoomLoaderHolder.cs.meta +11 -11
  62. package/{Samples → Samples~}/BlackTransitionOnlyOption.asset +18 -18
  63. package/{Samples → Samples~}/BlackTransitionOnlyOption.asset.meta +8 -8
  64. package/{Samples → Samples~}/BlackTransitionToInvestigationOption.asset +18 -18
  65. package/{Samples → Samples~}/BlackTransitionToInvestigationOption.asset.meta +8 -8
  66. package/{Samples → Samples~}/Check_ThreeD_Mode_During_Load.prefab +49 -49
  67. package/{Samples → Samples~}/Check_ThreeD_Mode_During_Load.prefab.meta +7 -7
  68. package/{Samples → Samples~}/DRE_Start_Alone_Scene.prefab +148 -148
  69. package/{Samples → Samples~}/DRE_Start_Alone_Scene.prefab.meta +7 -7
  70. package/{Samples → Samples~}/Dialogue_Room_Loader.prefab +55 -55
  71. package/{Samples → Samples~}/Dialogue_Room_Loader.prefab.meta +7 -7
  72. package/{Samples → Samples~}/FadeOutBlackTransitionOption.asset +18 -18
  73. package/{Samples → Samples~}/FadeOutBlackTransitionOption.asset.meta +8 -8
  74. package/{Samples → Samples~}/Fade_On_End_Transition_From_Save.prefab +145 -145
  75. package/{Samples → Samples~}/Fade_On_End_Transition_From_Save.prefab.meta +7 -7
  76. package/{Samples → Samples~}/Fade_Out_Generate_Past_On_Debug_Test.prefab +139 -139
  77. package/{Samples → Samples~}/Fade_Out_Generate_Past_On_Debug_Test.prefab.meta +7 -7
  78. package/{Samples → Samples~}/Fade_Out_On_Room_Load.prefab +137 -137
  79. package/{Samples → Samples~}/Fade_Out_On_Room_Load.prefab.meta +7 -7
  80. package/{Samples → Samples~}/Freeze_Transition_Canvas.prefab +300 -300
  81. package/{Samples → Samples~}/Freeze_Transition_Canvas.prefab.meta +7 -7
  82. package/{Samples → Samples~}/IsLoadingToRoom.asset +19 -19
  83. package/{Samples → Samples~}/IsLoadingToRoom.asset.meta +8 -8
  84. package/{Samples → Samples~}/Move_End_On_Dialogue_Finish.prefab +52 -52
  85. package/{Samples → Samples~}/Move_End_On_Dialogue_Finish.prefab.meta +7 -7
  86. package/{Samples → Samples~}/OnFadingOutOfLoading.asset +15 -15
  87. package/{Samples → Samples~}/OnFadingOutOfLoading.asset.meta +8 -8
  88. package/{Samples → Samples~}/OnFinishedLoadingRoom.asset +14 -14
  89. package/{Samples → Samples~}/OnFinishedLoadingRoom.asset.meta +8 -8
  90. package/{Samples → Samples~}/OnLoadingThreeDRoom.asset +14 -14
  91. package/{Samples → Samples~}/OnLoadingThreeDRoom.asset.meta +8 -8
  92. package/{Samples → Samples~}/OnLoadingThreeDRoomListener.prefab +51 -51
  93. package/{Samples → Samples~}/OnLoadingThreeDRoomListener.prefab.meta +7 -7
  94. package/{Samples → Samples~}/On_Finished_Loading_Room_Listener.prefab +51 -51
  95. package/{Samples → Samples~}/On_Finished_Loading_Room_Listener.prefab.meta +7 -7
  96. package/{Samples → Samples~}/On_Finished_Loading_Room_No_Dialogue_Listener.prefab +51 -51
  97. package/{Samples → Samples~}/On_Finished_Loading_Room_No_Dialogue_Listener.prefab.meta +7 -7
  98. package/{Samples → Samples~}/On_Finished_Room_Transitions_Listener.prefab +51 -51
  99. package/{Samples → Samples~}/On_Finished_Room_Transitions_Listener.prefab.meta +7 -7
  100. package/{Samples → Samples~}/On_Loading_Room_Listener.prefab +51 -51
  101. package/{Samples → Samples~}/On_Loading_Room_Listener.prefab.meta +7 -7
  102. package/{Samples → Samples~}/On_Started_Changing_Room_Listener.prefab +51 -51
  103. package/{Samples → Samples~}/On_Started_Changing_Room_Listener.prefab.meta +7 -7
  104. package/{Samples → Samples~}/Prepare_TPFD_On_Room_Loading.prefab +142 -142
  105. package/{Samples → Samples~}/Prepare_TPFD_On_Room_Loading.prefab.meta +7 -7
  106. package/{Samples → Samples~}/Resolve_Room_Load_States.prefab +54 -54
  107. package/{Samples → Samples~}/Resolve_Room_Load_States.prefab.meta +7 -7
  108. package/{Samples → Samples~}/Room_Changer.prefab +143 -143
  109. package/{Samples → Samples~}/Room_Changer.prefab.meta +7 -7
  110. package/{Samples → Samples~}/Room_Changer_Loader.prefab +53 -53
  111. package/{Samples → Samples~}/Room_Changer_Loader.prefab.meta +7 -7
  112. package/{Samples → Samples~}/Room_Instance_Manager.prefab +78 -78
  113. package/{Samples → Samples~}/Room_Instance_Manager.prefab.meta +7 -7
  114. package/{Samples → Samples~}/Room_Load_Finisher.prefab +139 -139
  115. package/{Samples → Samples~}/Room_Load_Finisher.prefab.meta +7 -7
  116. package/{Samples → Samples~}/Room_Loader.prefab +584 -584
  117. package/{Samples → Samples~}/Room_Loader.prefab.meta +7 -7
  118. package/{Samples → Samples~}/Room_Loader_Event_Listeners.prefab +337 -337
  119. package/{Samples → Samples~}/Room_Loader_Event_Listeners.prefab.meta +7 -7
  120. package/{Samples → Samples~}/Room_Loading_System_ETemplate.prefab +398 -398
  121. package/{Samples → Samples~}/Room_Loading_System_ETemplate.prefab.meta +7 -7
  122. package/{Samples → Samples~}/SkipActivateControls.asset +19 -19
  123. package/{Samples → Samples~}/SkipActivateControls.asset.meta +8 -8
  124. package/{Samples → Samples~}/Skip_Controls_When_Loaded.prefab +156 -156
  125. package/{Samples → Samples~}/Skip_Controls_When_Loaded.prefab.meta +7 -7
  126. package/{Samples → Samples~}/TPFD_Room_Loader.prefab +215 -215
  127. package/{Samples → Samples~}/TPFD_Room_Loader.prefab.meta +7 -7
  128. package/{Samples → Samples~}/TeleportTransitionOptions.asset +18 -18
  129. package/{Samples → Samples~}/TeleportTransitionOptions.asset.meta +8 -8
  130. package/{Samples → Samples~}/Teleport_Room_Manager.prefab +84 -84
  131. package/{Samples → Samples~}/Teleport_Room_Manager.prefab.meta +7 -7
  132. package/{Samples → Samples~}/UI_Visibility_On_Scene_Events.prefab +316 -316
  133. package/{Samples → Samples~}/UI_Visibility_On_Scene_Events.prefab.meta +7 -7
  134. package/SkipControlsWhenLoaded.cs +65 -65
  135. package/SkipControlsWhenLoaded.cs.meta +11 -11
  136. package/TPFDRoomAnimation.cs +83 -83
  137. package/TPFDRoomAnimation.cs.meta +11 -11
  138. package/TPFDRoomLoader.cs +92 -92
  139. package/TPFDRoomLoader.cs.meta +11 -11
  140. package/TeleportRoomManager.cs +113 -113
  141. package/TeleportRoomManager.cs.meta +11 -11
  142. package/package.json +45 -40
  143. package/package.json.meta +7 -7
  144. package/Samples.meta +0 -8
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: 19b9ff1c58526d649bf5a331f117a345
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: 19b9ff1c58526d649bf5a331f117a345
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -1,17 +1,17 @@
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 IRoomLoadRoutine
10
- {
11
- /// <summary>
12
- ///
13
- /// </summary>
14
- /// <returns></returns>
15
- IEnumerator OnRoomLoadRoutine();
16
- }
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 IRoomLoadRoutine
10
+ {
11
+ /// <summary>
12
+ ///
13
+ /// </summary>
14
+ /// <returns></returns>
15
+ IEnumerator OnRoomLoadRoutine();
16
+ }
17
17
  }
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: 499dce30e652e7e45a8d7262c6df4f31
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: 499dce30e652e7e45a8d7262c6df4f31
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -1,39 +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
- }
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
39
  }
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: 0435505532fcaa6438fd6a2e4b783d85
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: 0435505532fcaa6438fd6a2e4b783d85
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
package/ITeleporter.cs CHANGED
@@ -1,24 +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
- }
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
24
  }
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: 34a94bc8ca276ef48a1447f96c338839
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: 34a94bc8ca276ef48a1447f96c338839
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -1,131 +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
- }
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
131
  }
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: b4b831ea1eedfb641bf8af5fcfed08cc
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: b4b831ea1eedfb641bf8af5fcfed08cc
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant: