net.dreditor.maps 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/.attestation.p7m +0 -0
  2. package/CharacterMapMarkerUI.cs +94 -94
  3. package/CharacterMapMarkerUI.cs.meta +11 -11
  4. package/CharacterMapUITab.cs +171 -171
  5. package/CharacterMapUITab.cs.meta +11 -11
  6. package/ClearMapAreaData.cs +22 -22
  7. package/ClearMapAreaData.cs.meta +11 -11
  8. package/ClearMapInstanceData.cs +35 -35
  9. package/ClearMapInstanceData.cs.meta +11 -11
  10. package/ControlFastTravel.cs +56 -56
  11. package/ControlFastTravel.cs.meta +11 -11
  12. package/DREditor.Maps.asmdef +23 -23
  13. package/DREditor.Maps.asmdef.meta +7 -7
  14. package/DiscoverData.cs +22 -22
  15. package/DiscoverData.cs.meta +11 -11
  16. package/DiscoverableBase.cs +23 -23
  17. package/DiscoverableBase.cs.meta +11 -11
  18. package/FastTravelController.cs +35 -35
  19. package/FastTravelController.cs.meta +11 -11
  20. package/FastTravelData.cs +24 -24
  21. package/FastTravelData.cs.meta +11 -11
  22. package/FastTravelMarker.cs +106 -106
  23. package/FastTravelMarker.cs.meta +13 -13
  24. package/IDHolder.cs +46 -46
  25. package/IDHolder.cs.meta +11 -11
  26. package/IEntryLoader.cs +18 -18
  27. package/IEntryLoader.cs.meta +11 -11
  28. package/IMapManager.cs +26 -26
  29. package/IMapManager.cs.meta +11 -11
  30. package/IPlaceMarker.cs +25 -25
  31. package/IPlaceMarker.cs.meta +11 -11
  32. package/IPlaceOptionHolder.cs +52 -52
  33. package/IPlaceOptionHolder.cs.meta +11 -11
  34. package/MapAreaData.cs +52 -52
  35. package/MapAreaData.cs.meta +11 -11
  36. package/MapAreaEntry.cs +54 -54
  37. package/MapAreaEntry.cs.meta +11 -11
  38. package/MapAreaManager.cs +193 -193
  39. package/MapAreaManager.cs.meta +11 -11
  40. package/MapBaseData.cs +65 -65
  41. package/MapBaseData.cs.meta +11 -11
  42. package/MapData.cs +34 -34
  43. package/MapData.cs.meta +11 -11
  44. package/MapDatabase.cs +132 -132
  45. package/MapDatabase.cs.meta +11 -11
  46. package/MapEntry.cs +76 -76
  47. package/MapEntry.cs.meta +11 -11
  48. package/MapEntryChange.cs +320 -320
  49. package/MapEntryChange.cs.meta +11 -11
  50. package/MapEntryChanger.cs +44 -44
  51. package/MapEntryChanger.cs.meta +11 -11
  52. package/MapHoverSelector.cs +160 -160
  53. package/MapHoverSelector.cs.meta +11 -11
  54. package/MapManager.cs +287 -287
  55. package/MapManager.cs.meta +11 -11
  56. package/MapManagerBase.cs +259 -259
  57. package/MapManagerBase.cs.meta +11 -11
  58. package/MapMarkerSelectable.cs +70 -70
  59. package/MapMarkerSelectable.cs.meta +11 -11
  60. package/MapObjectiveData.cs +27 -27
  61. package/MapObjectiveData.cs.meta +11 -11
  62. package/MapSaveManager.cs +62 -62
  63. package/MapSaveManager.cs.meta +11 -11
  64. package/MapTabUIHandler.cs +97 -97
  65. package/MapTabUIHandler.cs.meta +11 -11
  66. package/MapUITab.cs +25 -25
  67. package/MapUITab.cs.meta +11 -11
  68. package/MapUtility.cs +182 -182
  69. package/MapUtility.cs.meta +11 -11
  70. package/MarkerData.cs +24 -24
  71. package/MarkerData.cs.meta +11 -11
  72. package/MarkerDatabase.cs +56 -56
  73. package/MarkerDatabase.cs.meta +11 -11
  74. package/MarkerUtility.cs +47 -47
  75. package/MarkerUtility.cs.meta +11 -11
  76. package/MarkerVessel.cs +37 -37
  77. package/MarkerVessel.cs.meta +11 -11
  78. package/PlaceData.cs +26 -26
  79. package/PlaceData.cs.meta +11 -11
  80. package/PlaceEntry.cs +82 -82
  81. package/PlaceEntry.cs.meta +11 -11
  82. package/PlaceManager.cs +292 -292
  83. package/PlaceManager.cs.meta +11 -11
  84. package/PlaceMapUITab.cs +202 -202
  85. package/PlaceMapUITab.cs.meta +11 -11
  86. package/{Samples → Samples~}/Clear_Map_Area_Data_Event.prefab +52 -52
  87. package/{Samples → Samples~}/Clear_Map_Area_Data_Event.prefab.meta +7 -7
  88. package/{Samples → Samples~}/Clear_Map_Instance_Data.prefab +56 -56
  89. package/{Samples → Samples~}/Clear_Map_Instance_Data.prefab.meta +7 -7
  90. package/{Samples → Samples~}/DRE_Map_UI.unity +461 -461
  91. package/{Samples → Samples~}/DRE_Map_UI.unity.meta +7 -7
  92. package/{Samples → Samples~}/Map_Entry_Changer.prefab +52 -52
  93. package/{Samples → Samples~}/Map_Entry_Changer.prefab.meta +7 -7
  94. package/{Samples → Samples~}/Map_Marker_Selectable_ETemplate.prefab +126 -126
  95. package/{Samples → Samples~}/Map_Marker_Selectable_ETemplate.prefab.meta +7 -7
  96. package/{Samples → Samples~}/Map_Tab_UI_Handler_Shell.prefab +134 -134
  97. package/{Samples → Samples~}/Map_Tab_UI_Handler_Shell.prefab.meta +7 -7
  98. package/{Samples → Samples~}/Map_Tab_UI_Handler_Template.prefab +404 -404
  99. package/{Samples → Samples~}/Map_Tab_UI_Handler_Template.prefab.meta +7 -7
  100. package/{Samples → Samples~}/Map_UI_Canvas_Shell.prefab +842 -842
  101. package/{Samples → Samples~}/Map_UI_Canvas_Shell.prefab.meta +7 -7
  102. package/{Samples → Samples~}/Map_UI_Canvas_Template.prefab +996 -996
  103. package/{Samples → Samples~}/Map_UI_Canvas_Template.prefab.meta +7 -7
  104. package/{Samples → Samples~}/Map_UI_Controls_ETemplate.prefab +538 -538
  105. package/{Samples → Samples~}/Map_UI_Controls_ETemplate.prefab.meta +7 -7
  106. package/{Samples → Samples~}/Map_UI_GO_FT_ETemplate.prefab +78 -78
  107. package/{Samples → Samples~}/Map_UI_GO_FT_ETemplate.prefab.meta +7 -7
  108. package/{Samples → Samples~}/Map_UI_Place_Place_Name_ETemplate.prefab +181 -181
  109. package/{Samples → Samples~}/Map_UI_Place_Place_Name_ETemplate.prefab.meta +7 -7
  110. package/{Samples → Samples~}/Map_UI_Place_Tab_Shell.prefab +57 -57
  111. package/{Samples → Samples~}/Map_UI_Place_Tab_Shell.prefab.meta +7 -7
  112. package/{Samples → Samples~}/Map_UI_Place_Tab_Template.prefab +806 -806
  113. package/{Samples → Samples~}/Map_UI_Place_Tab_Template.prefab.meta +7 -7
  114. package/{Samples → Samples~}/Map_UI_Place_Tab_UI_ETemplate.prefab +1265 -1265
  115. package/{Samples → Samples~}/Map_UI_Place_Tab_UI_ETemplate.prefab.meta +7 -7
  116. package/{Samples → Samples~}/Map_UI_Reticle_ETemplate.prefab +78 -78
  117. package/{Samples → Samples~}/Map_UI_Reticle_ETemplate.prefab.meta +7 -7
  118. package/{Samples → Samples~}/Map_UI_Student_Tab_Shell.prefab +267 -267
  119. package/{Samples → Samples~}/Map_UI_Student_Tab_Shell.prefab.meta +7 -7
  120. package/{Samples → Samples~}/Map_UI_Student_Tab_Template.prefab +544 -544
  121. package/{Samples → Samples~}/Map_UI_Student_Tab_Template.prefab.meta +7 -7
  122. package/{Samples → Samples~}/Map_UI_Student_Tab_UI_Shell.prefab +90 -90
  123. package/{Samples → Samples~}/Map_UI_Student_Tab_UI_Shell.prefab.meta +7 -7
  124. package/{Samples → Samples~}/Map_UI_Student_Tab_UI_Template.prefab +2031 -2031
  125. package/{Samples → Samples~}/Map_UI_Student_Tab_UI_Template.prefab.meta +7 -7
  126. package/{Samples → Samples~}/Map_UI_Title_ETemplate.prefab +672 -672
  127. package/{Samples → Samples~}/Map_UI_Title_ETemplate.prefab.meta +7 -7
  128. package/{Samples → Samples~}/Place_Template.prefab +200 -200
  129. package/{Samples → Samples~}/Place_Template.prefab.meta +7 -7
  130. package/package.json +45 -40
  131. package/package.json.meta +7 -7
  132. package/Samples.meta +0 -8
@@ -1,71 +1,71 @@
1
- //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
- using UnityEngine;
3
- using UnityEngine.Events;
4
- using UnityEngine.EventSystems;
5
- using UnityEngine.UI;
6
-
7
- namespace DREditor.Maps
8
- {
9
- /// <summary>
10
- ///
11
- /// </summary>
12
- public class MapMarkerSelectable : Selectable
13
- {
14
- /// <summary>
15
- ///
16
- /// </summary>
17
- [Header("")]
18
- [Divider]
19
- [Tooltip("")]
20
- [SerializeField] protected string markerName = "";
21
-
22
- /// <summary>
23
- ///
24
- /// </summary>
25
- [Tooltip("")]
26
- [SerializeField] protected Color availableColor = Color.white;
27
-
28
- /// <summary>
29
- ///
30
- /// </summary>
31
- [Tooltip("")]
32
- [SerializeField] protected Color unavailableColor = Color.white;
33
-
34
-
35
- [Header("")]
36
- public UnityEvent<string> OnHover;
37
-
38
-
39
- /// <inheritdoc/>
40
- public override void OnSelect(BaseEventData eventData)
41
- {
42
- base.OnSelect(eventData);
43
-
44
- OnHover?.Invoke(markerName);
45
- }
46
-
47
- /// <summary>
48
- ///
49
- /// </summary>
50
- /// <returns></returns>
51
- public virtual string GetMarkerName() => markerName;
52
-
53
- /// <summary>
54
- ///
55
- /// </summary>
56
- public virtual void SetAvailable()
57
- {
58
- if (targetGraphic != null)
59
- targetGraphic.color = availableColor;
60
- }
61
-
62
- /// <summary>
63
- ///
64
- /// </summary>
65
- public virtual void SetUnavailable()
66
- {
67
- if (targetGraphic != null)
68
- targetGraphic.color = unavailableColor;
69
- }
70
- }
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using UnityEngine;
3
+ using UnityEngine.Events;
4
+ using UnityEngine.EventSystems;
5
+ using UnityEngine.UI;
6
+
7
+ namespace DREditor.Maps
8
+ {
9
+ /// <summary>
10
+ ///
11
+ /// </summary>
12
+ public class MapMarkerSelectable : Selectable
13
+ {
14
+ /// <summary>
15
+ ///
16
+ /// </summary>
17
+ [Header("")]
18
+ [Divider]
19
+ [Tooltip("")]
20
+ [SerializeField] protected string markerName = "";
21
+
22
+ /// <summary>
23
+ ///
24
+ /// </summary>
25
+ [Tooltip("")]
26
+ [SerializeField] protected Color availableColor = Color.white;
27
+
28
+ /// <summary>
29
+ ///
30
+ /// </summary>
31
+ [Tooltip("")]
32
+ [SerializeField] protected Color unavailableColor = Color.white;
33
+
34
+
35
+ [Header("")]
36
+ public UnityEvent<string> OnHover;
37
+
38
+
39
+ /// <inheritdoc/>
40
+ public override void OnSelect(BaseEventData eventData)
41
+ {
42
+ base.OnSelect(eventData);
43
+
44
+ OnHover?.Invoke(markerName);
45
+ }
46
+
47
+ /// <summary>
48
+ ///
49
+ /// </summary>
50
+ /// <returns></returns>
51
+ public virtual string GetMarkerName() => markerName;
52
+
53
+ /// <summary>
54
+ ///
55
+ /// </summary>
56
+ public virtual void SetAvailable()
57
+ {
58
+ if (targetGraphic != null)
59
+ targetGraphic.color = availableColor;
60
+ }
61
+
62
+ /// <summary>
63
+ ///
64
+ /// </summary>
65
+ public virtual void SetUnavailable()
66
+ {
67
+ if (targetGraphic != null)
68
+ targetGraphic.color = unavailableColor;
69
+ }
70
+ }
71
71
  }
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: 6065de3d82a020f4f8ca9c86f5f3c660
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: 6065de3d82a020f4f8ca9c86f5f3c660
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -1,28 +1,28 @@
1
- //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
- using System;
3
-
4
- namespace DREditor.Maps
5
- {
6
- /// <summary>
7
- ///
8
- /// </summary>
9
- /// <remarks></remarks>
10
- [Serializable]
11
- public class MapObjectiveData
12
- {
13
- /// <summary>
14
- ///
15
- /// </summary>
16
- public int chapter;
17
-
18
- /// <summary>
19
- ///
20
- /// </summary>
21
- public bool isObjective;
22
-
23
- /// <summary>
24
- ///
25
- /// </summary>
26
- public string objectiveID;
27
- }
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using System;
3
+
4
+ namespace DREditor.Maps
5
+ {
6
+ /// <summary>
7
+ ///
8
+ /// </summary>
9
+ /// <remarks></remarks>
10
+ [Serializable]
11
+ public class MapObjectiveData
12
+ {
13
+ /// <summary>
14
+ ///
15
+ /// </summary>
16
+ public int chapter;
17
+
18
+ /// <summary>
19
+ ///
20
+ /// </summary>
21
+ public bool isObjective;
22
+
23
+ /// <summary>
24
+ ///
25
+ /// </summary>
26
+ public string objectiveID;
27
+ }
28
28
  }
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: b5a6e825f2eaf9f418b6eb203d9a0ccc
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: b5a6e825f2eaf9f418b6eb203d9a0ccc
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
package/MapSaveManager.cs CHANGED
@@ -1,63 +1,63 @@
1
- //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
- using DREditor.EventObjects;
3
- using DREditor.Saveables;
4
- using DREditor.Services;
5
- using System.Collections.Generic;
6
- using UnityEngine;
7
-
8
- namespace DREditor.Maps
9
- {
10
- /// <summary>
11
- ///
12
- /// </summary>
13
- [ClassHeader(nameof(ISaveManager) +
14
- "\n\n")]
15
- public class MapSaveManager : MonoBehaviour, ISaveManager
16
- {
17
- /// <summary>
18
- ///
19
- /// </summary>
20
- [Tooltip("")]
21
- [SerializeField] protected BoolWithEvent canFastTravel = null;
22
-
23
- /// <summary>
24
- ///
25
- /// </summary>
26
- [Tooltip("")]
27
- [SerializeField] protected int subID;
28
-
29
-
30
- public int SubID { get => subID; }
31
-
32
-
33
- /// <inheritdoc/>
34
- public virtual string Save()
35
- {
36
- ServiceLocator.GetService<IMapManager>().GetInstanceData().Save();
37
-
38
- MapData mapData = new(ServiceLocator.GetService<IMapManager>().GetInstanceData(), canFastTravel.Value);
39
-
40
- return JsonUtility.ToJson(mapData);
41
- }
42
-
43
- /// <inheritdoc/>
44
- public virtual void Load(string data)
45
- {
46
- try
47
- {
48
- MapData mapData = JsonUtility.FromJson<MapData>(data);
49
-
50
- ServiceLocator.GetService<IMapManager>().SetInstanceData(mapData.Entry);
51
-
52
- canFastTravel.SetValue(mapData.allowFastTravel);
53
- }
54
- catch
55
- {
56
- ServiceLocator.GetService<IMapManager>().SetInstanceData(JsonUtility.FromJson<MapEntry>(data));
57
- }
58
- }
59
-
60
- /// <inheritdoc/>
61
- public virtual List<string> GetPreviousNames() => new() { "MapManager" };
62
- }
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.EventObjects;
3
+ using DREditor.Saveables;
4
+ using DREditor.Services;
5
+ using System.Collections.Generic;
6
+ using UnityEngine;
7
+
8
+ namespace DREditor.Maps
9
+ {
10
+ /// <summary>
11
+ ///
12
+ /// </summary>
13
+ [ClassHeader(nameof(ISaveManager) +
14
+ "\n\n")]
15
+ public class MapSaveManager : MonoBehaviour, ISaveManager
16
+ {
17
+ /// <summary>
18
+ ///
19
+ /// </summary>
20
+ [Tooltip("")]
21
+ [SerializeField] protected BoolWithEvent canFastTravel = null;
22
+
23
+ /// <summary>
24
+ ///
25
+ /// </summary>
26
+ [Tooltip("")]
27
+ [SerializeField] protected int subID;
28
+
29
+
30
+ public int SubID { get => subID; }
31
+
32
+
33
+ /// <inheritdoc/>
34
+ public virtual string Save()
35
+ {
36
+ ServiceLocator.GetService<IMapManager>().GetInstanceData().Save();
37
+
38
+ MapData mapData = new(ServiceLocator.GetService<IMapManager>().GetInstanceData(), canFastTravel.Value);
39
+
40
+ return JsonUtility.ToJson(mapData);
41
+ }
42
+
43
+ /// <inheritdoc/>
44
+ public virtual void Load(string data)
45
+ {
46
+ try
47
+ {
48
+ MapData mapData = JsonUtility.FromJson<MapData>(data);
49
+
50
+ ServiceLocator.GetService<IMapManager>().SetInstanceData(mapData.Entry);
51
+
52
+ canFastTravel.SetValue(mapData.allowFastTravel);
53
+ }
54
+ catch
55
+ {
56
+ ServiceLocator.GetService<IMapManager>().SetInstanceData(JsonUtility.FromJson<MapEntry>(data));
57
+ }
58
+ }
59
+
60
+ /// <inheritdoc/>
61
+ public virtual List<string> GetPreviousNames() => new() { "MapManager" };
62
+ }
63
63
  }
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: de3a05a686d01f9479c4016ff2db3128
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: de3a05a686d01f9479c4016ff2db3128
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -1,98 +1,98 @@
1
- //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
- using DREditor.Services;
3
- using System.Collections.Generic;
4
- using UnityEngine;
5
- using UnityEngine.EventSystems;
6
-
7
- namespace DREditor.Maps
8
- {
9
- /// <summary>
10
- ///
11
- /// </summary>
12
- [ClassHeader(nameof(ServiceHolder<MapTabUIHandler>) + " for type: " + nameof(MapTabUIHandler) +
13
- "\n\n")]
14
- public class MapTabUIHandler : ServiceHolder<MapTabUIHandler>
15
- {
16
- /// <summary>
17
- ///
18
- /// </summary>
19
- [Space]
20
- [Divider]
21
- [Tooltip("")]
22
- [SerializeField] protected MapUITab defaultTab;
23
-
24
- /// <summary>
25
- ///
26
- /// </summary>
27
- [Tooltip("")]
28
- [SerializeField] protected List<MapUITab> tabs = new();
29
-
30
-
31
- /// <summary>
32
- ///
33
- /// </summary>
34
- protected MapUITab currentTab = null;
35
-
36
-
37
- /// <summary>
38
- ///
39
- /// </summary>
40
- protected virtual void Start()
41
- {
42
- currentTab = defaultTab;
43
-
44
- ShowDefaultTab();
45
- }
46
-
47
- /// <summary>
48
- ///
49
- /// </summary>
50
- public virtual void ShowDefaultTab()
51
- {
52
- if (currentTab != defaultTab)
53
- {
54
- currentTab.HideTab();
55
-
56
- currentTab = defaultTab;
57
- }
58
-
59
- defaultTab.ShowTab();
60
- }
61
-
62
- /// <summary>
63
- ///
64
- /// </summary>
65
- public virtual void InitializeTab()
66
- {
67
- foreach (var tab in tabs)
68
- if (currentTab == tab)
69
- tab.InitializeTab();
70
- }
71
-
72
- /// <summary>
73
- ///
74
- /// </summary>
75
- /// <returns></returns>
76
- public virtual bool IsOnDefaultTab() => currentTab == defaultTab;
77
-
78
- /// <summary>
79
- ///
80
- /// </summary>
81
- public virtual void UpdateTab()
82
- {
83
- EventSystem.current.SetSelectedGameObject(null);
84
-
85
- foreach (var tab in tabs)
86
- tab.HideTab();
87
-
88
- int nextIndex = tabs.IndexOf(currentTab) + 1;
89
-
90
- if (nextIndex < 0 || nextIndex >= tabs.Count)
91
- nextIndex = 0;
92
-
93
- currentTab = tabs[nextIndex];
94
-
95
- currentTab.ShowTab();
96
- }
97
- }
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.Services;
3
+ using System.Collections.Generic;
4
+ using UnityEngine;
5
+ using UnityEngine.EventSystems;
6
+
7
+ namespace DREditor.Maps
8
+ {
9
+ /// <summary>
10
+ ///
11
+ /// </summary>
12
+ [ClassHeader(nameof(ServiceHolder<MapTabUIHandler>) + " for type: " + nameof(MapTabUIHandler) +
13
+ "\n\n")]
14
+ public class MapTabUIHandler : ServiceHolder<MapTabUIHandler>
15
+ {
16
+ /// <summary>
17
+ ///
18
+ /// </summary>
19
+ [Space]
20
+ [Divider]
21
+ [Tooltip("")]
22
+ [SerializeField] protected MapUITab defaultTab;
23
+
24
+ /// <summary>
25
+ ///
26
+ /// </summary>
27
+ [Tooltip("")]
28
+ [SerializeField] protected List<MapUITab> tabs = new();
29
+
30
+
31
+ /// <summary>
32
+ ///
33
+ /// </summary>
34
+ protected MapUITab currentTab = null;
35
+
36
+
37
+ /// <summary>
38
+ ///
39
+ /// </summary>
40
+ protected virtual void Start()
41
+ {
42
+ currentTab = defaultTab;
43
+
44
+ ShowDefaultTab();
45
+ }
46
+
47
+ /// <summary>
48
+ ///
49
+ /// </summary>
50
+ public virtual void ShowDefaultTab()
51
+ {
52
+ if (currentTab != defaultTab)
53
+ {
54
+ currentTab.HideTab();
55
+
56
+ currentTab = defaultTab;
57
+ }
58
+
59
+ defaultTab.ShowTab();
60
+ }
61
+
62
+ /// <summary>
63
+ ///
64
+ /// </summary>
65
+ public virtual void InitializeTab()
66
+ {
67
+ foreach (var tab in tabs)
68
+ if (currentTab == tab)
69
+ tab.InitializeTab();
70
+ }
71
+
72
+ /// <summary>
73
+ ///
74
+ /// </summary>
75
+ /// <returns></returns>
76
+ public virtual bool IsOnDefaultTab() => currentTab == defaultTab;
77
+
78
+ /// <summary>
79
+ ///
80
+ /// </summary>
81
+ public virtual void UpdateTab()
82
+ {
83
+ EventSystem.current.SetSelectedGameObject(null);
84
+
85
+ foreach (var tab in tabs)
86
+ tab.HideTab();
87
+
88
+ int nextIndex = tabs.IndexOf(currentTab) + 1;
89
+
90
+ if (nextIndex < 0 || nextIndex >= tabs.Count)
91
+ nextIndex = 0;
92
+
93
+ currentTab = tabs[nextIndex];
94
+
95
+ currentTab.ShowTab();
96
+ }
97
+ }
98
98
  }
@@ -1,11 +1,11 @@
1
- fileFormatVersion: 2
2
- guid: 5e75cb36c3348f64eadc8d8bed660404
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: 5e75cb36c3348f64eadc8d8bed660404
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
package/MapUITab.cs CHANGED
@@ -1,26 +1,26 @@
1
- //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
- using UnityEngine;
3
-
4
- namespace DREditor.Maps
5
- {
6
- /// <summary>
7
- ///
8
- /// </summary>
9
- public abstract class MapUITab : MonoBehaviour
10
- {
11
- /// <summary>
12
- ///
13
- /// </summary>
14
- public abstract void InitializeTab();
15
-
16
- /// <summary>
17
- ///
18
- /// </summary>
19
- public abstract void ShowTab();
20
-
21
- /// <summary>
22
- ///
23
- /// </summary>
24
- public abstract void HideTab();
25
- }
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using UnityEngine;
3
+
4
+ namespace DREditor.Maps
5
+ {
6
+ /// <summary>
7
+ ///
8
+ /// </summary>
9
+ public abstract class MapUITab : MonoBehaviour
10
+ {
11
+ /// <summary>
12
+ ///
13
+ /// </summary>
14
+ public abstract void InitializeTab();
15
+
16
+ /// <summary>
17
+ ///
18
+ /// </summary>
19
+ public abstract void ShowTab();
20
+
21
+ /// <summary>
22
+ ///
23
+ /// </summary>
24
+ public abstract void HideTab();
25
+ }
26
26
  }