net.dreditor.maps 0.0.0-stage → 0.1.6
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/CharacterMapMarkerUI.cs +95 -0
- package/CharacterMapMarkerUI.cs.meta +11 -0
- package/CharacterMapUITab.cs +172 -0
- package/CharacterMapUITab.cs.meta +11 -0
- package/ClearMapAreaData.cs +23 -0
- package/ClearMapAreaData.cs.meta +11 -0
- package/ClearMapInstanceData.cs +36 -0
- package/ClearMapInstanceData.cs.meta +11 -0
- package/ControlFastTravel.cs +57 -0
- package/ControlFastTravel.cs.meta +11 -0
- package/DREditor.Maps.asmdef +24 -0
- package/DREditor.Maps.asmdef.meta +7 -0
- package/DiscoverData.cs +23 -0
- package/DiscoverData.cs.meta +11 -0
- package/DiscoverableBase.cs +24 -0
- package/DiscoverableBase.cs.meta +11 -0
- package/FastTravelController.cs +36 -0
- package/FastTravelController.cs.meta +11 -0
- package/FastTravelData.cs +25 -0
- package/FastTravelData.cs.meta +11 -0
- package/FastTravelMarker.cs +107 -0
- package/FastTravelMarker.cs.meta +13 -0
- package/IDHolder.cs +47 -0
- package/IDHolder.cs.meta +11 -0
- package/IEntryLoader.cs +19 -0
- package/IEntryLoader.cs.meta +11 -0
- package/IMapManager.cs +27 -0
- package/IMapManager.cs.meta +11 -0
- package/IPlaceMarker.cs +26 -0
- package/IPlaceMarker.cs.meta +11 -0
- package/IPlaceOptionHolder.cs +53 -0
- package/IPlaceOptionHolder.cs.meta +11 -0
- package/MapAreaData.cs +53 -0
- package/MapAreaData.cs.meta +11 -0
- package/MapAreaEntry.cs +55 -0
- package/MapAreaEntry.cs.meta +11 -0
- package/MapAreaManager.cs +194 -0
- package/MapAreaManager.cs.meta +11 -0
- package/MapBaseData.cs +66 -0
- package/MapBaseData.cs.meta +11 -0
- package/MapData.cs +35 -0
- package/MapData.cs.meta +11 -0
- package/MapDatabase.cs +133 -0
- package/MapDatabase.cs.meta +11 -0
- package/MapEntry.cs +77 -0
- package/MapEntry.cs.meta +11 -0
- package/MapEntryChange.cs +321 -0
- package/MapEntryChange.cs.meta +11 -0
- package/MapEntryChanger.cs +45 -0
- package/MapEntryChanger.cs.meta +11 -0
- package/MapHoverSelector.cs +161 -0
- package/MapHoverSelector.cs.meta +11 -0
- package/MapManager.cs +288 -0
- package/MapManager.cs.meta +11 -0
- package/MapManagerBase.cs +260 -0
- package/MapManagerBase.cs.meta +11 -0
- package/MapMarkerSelectable.cs +71 -0
- package/MapMarkerSelectable.cs.meta +11 -0
- package/MapObjectiveData.cs +28 -0
- package/MapObjectiveData.cs.meta +11 -0
- package/MapSaveManager.cs +63 -0
- package/MapSaveManager.cs.meta +11 -0
- package/MapTabUIHandler.cs +98 -0
- package/MapTabUIHandler.cs.meta +11 -0
- package/MapUITab.cs +26 -0
- package/MapUITab.cs.meta +11 -0
- package/MapUtility.cs +183 -0
- package/MapUtility.cs.meta +11 -0
- package/MarkerData.cs +25 -0
- package/MarkerData.cs.meta +11 -0
- package/MarkerDatabase.cs +57 -0
- package/MarkerDatabase.cs.meta +11 -0
- package/MarkerUtility.cs +48 -0
- package/MarkerUtility.cs.meta +11 -0
- package/MarkerVessel.cs +38 -0
- package/MarkerVessel.cs.meta +11 -0
- package/PlaceData.cs +27 -0
- package/PlaceData.cs.meta +11 -0
- package/PlaceEntry.cs +83 -0
- package/PlaceEntry.cs.meta +11 -0
- package/PlaceManager.cs +293 -0
- package/PlaceManager.cs.meta +11 -0
- package/PlaceMapUITab.cs +203 -0
- package/PlaceMapUITab.cs.meta +11 -0
- package/Samples/Clear_Map_Area_Data_Event.prefab +52 -0
- package/Samples/Clear_Map_Area_Data_Event.prefab.meta +7 -0
- package/Samples/Clear_Map_Instance_Data.prefab +56 -0
- package/Samples/Clear_Map_Instance_Data.prefab.meta +7 -0
- package/Samples/DRE_Map_UI.unity +461 -0
- package/Samples/DRE_Map_UI.unity.meta +7 -0
- package/Samples/Map_Entry_Changer.prefab +52 -0
- package/Samples/Map_Entry_Changer.prefab.meta +7 -0
- package/Samples/Map_Marker_Selectable_ETemplate.prefab +126 -0
- package/Samples/Map_Marker_Selectable_ETemplate.prefab.meta +7 -0
- package/Samples/Map_Tab_UI_Handler_Shell.prefab +134 -0
- package/Samples/Map_Tab_UI_Handler_Shell.prefab.meta +7 -0
- package/Samples/Map_Tab_UI_Handler_Template.prefab +404 -0
- package/Samples/Map_Tab_UI_Handler_Template.prefab.meta +7 -0
- package/Samples/Map_UI_Canvas_Shell.prefab +842 -0
- package/Samples/Map_UI_Canvas_Shell.prefab.meta +7 -0
- package/Samples/Map_UI_Canvas_Template.prefab +996 -0
- package/Samples/Map_UI_Canvas_Template.prefab.meta +7 -0
- package/Samples/Map_UI_Controls_ETemplate.prefab +538 -0
- package/Samples/Map_UI_Controls_ETemplate.prefab.meta +7 -0
- package/Samples/Map_UI_GO_FT_ETemplate.prefab +78 -0
- package/Samples/Map_UI_GO_FT_ETemplate.prefab.meta +7 -0
- package/Samples/Map_UI_Place_Place_Name_ETemplate.prefab +181 -0
- package/Samples/Map_UI_Place_Place_Name_ETemplate.prefab.meta +7 -0
- package/Samples/Map_UI_Place_Tab_Shell.prefab +57 -0
- package/Samples/Map_UI_Place_Tab_Shell.prefab.meta +7 -0
- package/Samples/Map_UI_Place_Tab_Template.prefab +806 -0
- package/Samples/Map_UI_Place_Tab_Template.prefab.meta +7 -0
- package/Samples/Map_UI_Place_Tab_UI_ETemplate.prefab +1265 -0
- package/Samples/Map_UI_Place_Tab_UI_ETemplate.prefab.meta +7 -0
- package/Samples/Map_UI_Reticle_ETemplate.prefab +78 -0
- package/Samples/Map_UI_Reticle_ETemplate.prefab.meta +7 -0
- package/Samples/Map_UI_Student_Tab_Shell.prefab +267 -0
- package/Samples/Map_UI_Student_Tab_Shell.prefab.meta +7 -0
- package/Samples/Map_UI_Student_Tab_Template.prefab +544 -0
- package/Samples/Map_UI_Student_Tab_Template.prefab.meta +7 -0
- package/Samples/Map_UI_Student_Tab_UI_Shell.prefab +90 -0
- package/Samples/Map_UI_Student_Tab_UI_Shell.prefab.meta +7 -0
- package/Samples/Map_UI_Student_Tab_UI_Template.prefab +2031 -0
- package/Samples/Map_UI_Student_Tab_UI_Template.prefab.meta +7 -0
- package/Samples/Map_UI_Title_ETemplate.prefab +672 -0
- package/Samples/Map_UI_Title_ETemplate.prefab.meta +7 -0
- package/Samples/Place_Template.prefab +200 -0
- package/Samples/Place_Template.prefab.meta +7 -0
- package/Samples.meta +8 -0
- package/package.json +40 -6
- package/package.json.meta +7 -0
- package/README.md +0 -3
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using System.Collections.Generic;
|
|
3
|
+
using UnityEngine;
|
|
4
|
+
using UnityEngine.UI;
|
|
5
|
+
|
|
6
|
+
namespace DREditor.Maps
|
|
7
|
+
{
|
|
8
|
+
/// <summary>
|
|
9
|
+
///
|
|
10
|
+
/// </summary>
|
|
11
|
+
[ClassHeader("")]
|
|
12
|
+
public class CharacterMapMarkerUI : MonoBehaviour, IEntryLoader
|
|
13
|
+
{
|
|
14
|
+
/// <summary>
|
|
15
|
+
///
|
|
16
|
+
/// </summary>
|
|
17
|
+
[Tooltip("")]
|
|
18
|
+
[SerializeField] protected float separationValue = 50f;
|
|
19
|
+
|
|
20
|
+
/// <summary>
|
|
21
|
+
///
|
|
22
|
+
/// </summary>
|
|
23
|
+
[Tooltip("")]
|
|
24
|
+
[SerializeField] protected Vector3 markerScale = new(2, 2, 2);
|
|
25
|
+
|
|
26
|
+
/// <summary>
|
|
27
|
+
///
|
|
28
|
+
/// </summary>
|
|
29
|
+
[Tooltip("")]
|
|
30
|
+
[SerializeField] protected List<string> characterNames = new();
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
/// <inheritdoc/>
|
|
34
|
+
public virtual void LoadEntry(object entry, List<Image> markers) => ArrangeMarkers(GetCharacterMarkers(markers));
|
|
35
|
+
|
|
36
|
+
/// <summary>
|
|
37
|
+
///
|
|
38
|
+
/// </summary>
|
|
39
|
+
/// <param name="markers"></param>
|
|
40
|
+
/// <returns></returns>
|
|
41
|
+
protected virtual List<Image> GetCharacterMarkers(List<Image> markers)
|
|
42
|
+
{
|
|
43
|
+
List<Image> charMarkers = new();
|
|
44
|
+
|
|
45
|
+
foreach (var item in markers)
|
|
46
|
+
if (characterNames.Contains(item.gameObject.name))
|
|
47
|
+
charMarkers.Add(item);
|
|
48
|
+
|
|
49
|
+
return charMarkers;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/// <summary>
|
|
53
|
+
///
|
|
54
|
+
/// </summary>
|
|
55
|
+
/// <param name="charMarkers"></param>
|
|
56
|
+
protected virtual void ArrangeMarkers(List<Image> charMarkers)
|
|
57
|
+
{
|
|
58
|
+
int count = charMarkers.Count;
|
|
59
|
+
|
|
60
|
+
if (count == 0)
|
|
61
|
+
return;
|
|
62
|
+
|
|
63
|
+
int gridSize = Mathf.CeilToInt(Mathf.Sqrt(count));
|
|
64
|
+
|
|
65
|
+
int index = 0;
|
|
66
|
+
|
|
67
|
+
for (int y = 0; y < gridSize; y++)
|
|
68
|
+
{
|
|
69
|
+
for (int x = 0; x < gridSize && index < count; x++)
|
|
70
|
+
{
|
|
71
|
+
float offsetX = (x - (gridSize - 1) / 2f) * separationValue * 2;
|
|
72
|
+
|
|
73
|
+
float offsetY = (y - (gridSize - 1) / 2f) * separationValue * 2;
|
|
74
|
+
|
|
75
|
+
SetScalePosition(charMarkers[index].transform, offsetX, offsetY);
|
|
76
|
+
|
|
77
|
+
index++;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/// <summary>
|
|
83
|
+
///
|
|
84
|
+
/// </summary>
|
|
85
|
+
/// <param name="transform"></param>
|
|
86
|
+
/// <param name="x"></param>
|
|
87
|
+
/// <param name="y"></param>
|
|
88
|
+
protected virtual void SetScalePosition(Transform transform, float x, float y)
|
|
89
|
+
{
|
|
90
|
+
transform.localPosition = new Vector3(x, y, 0);
|
|
91
|
+
|
|
92
|
+
transform.localScale = markerScale;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using DREditor.Services;
|
|
3
|
+
using System.Collections.Generic;
|
|
4
|
+
using System.Linq;
|
|
5
|
+
using UnityEngine;
|
|
6
|
+
using UnityEngine.EventSystems;
|
|
7
|
+
|
|
8
|
+
namespace DREditor.Maps
|
|
9
|
+
{
|
|
10
|
+
/// <summary>
|
|
11
|
+
///
|
|
12
|
+
/// </summary>
|
|
13
|
+
[ClassHeader(nameof(MapUITab) +
|
|
14
|
+
"\n\n")]
|
|
15
|
+
public class CharacterMapUITab : MapUITab
|
|
16
|
+
{
|
|
17
|
+
/// <summary>
|
|
18
|
+
///
|
|
19
|
+
/// </summary>
|
|
20
|
+
[Tooltip("")]
|
|
21
|
+
[SerializeField] protected GameObject studentTabHighlight = null;
|
|
22
|
+
|
|
23
|
+
/// <summary>
|
|
24
|
+
///
|
|
25
|
+
/// </summary>
|
|
26
|
+
[Tooltip("")]
|
|
27
|
+
[SerializeField] protected CanvasGroup studentGroup = null;
|
|
28
|
+
|
|
29
|
+
/// <summary>
|
|
30
|
+
///
|
|
31
|
+
/// </summary>
|
|
32
|
+
[Tooltip("")]
|
|
33
|
+
[SerializeField] protected MapMarkerSelectable[] mapMarkerSelectables = new MapMarkerSelectable[0];
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
protected virtual void OnEnable() => SubscribeMarkerHover();
|
|
37
|
+
|
|
38
|
+
protected virtual void OnDisable() => UnsubscribeMarkerHover();
|
|
39
|
+
|
|
40
|
+
/// <summary>
|
|
41
|
+
///
|
|
42
|
+
/// </summary>
|
|
43
|
+
protected virtual void SubscribeMarkerHover()
|
|
44
|
+
{
|
|
45
|
+
foreach (MapMarkerSelectable marker in mapMarkerSelectables)
|
|
46
|
+
marker.OnHover.AddListener(OnMarkerHovered);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/// <summary>
|
|
50
|
+
///
|
|
51
|
+
/// </summary>
|
|
52
|
+
protected virtual void UnsubscribeMarkerHover()
|
|
53
|
+
{
|
|
54
|
+
foreach (MapMarkerSelectable marker in mapMarkerSelectables)
|
|
55
|
+
marker.OnHover.RemoveListener(OnMarkerHovered);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/// <summary>
|
|
59
|
+
///
|
|
60
|
+
/// </summary>
|
|
61
|
+
/// <param name="markerName"></param>
|
|
62
|
+
protected virtual void OnMarkerHovered(string markerName)
|
|
63
|
+
{
|
|
64
|
+
var places = ServiceLocator.GetService<MapAreaManager>()
|
|
65
|
+
.GetPlaceManagers()
|
|
66
|
+
.Where(place => place.ContainsMarker(markerName));
|
|
67
|
+
|
|
68
|
+
if (places.Count() > 0)
|
|
69
|
+
{
|
|
70
|
+
PlaceManager place = places.ToArray()[0];
|
|
71
|
+
|
|
72
|
+
ServiceLocator.GetService<MapHoverSelector>().AnimateToHoveredPlace(place);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
protected virtual void Start() => DisableMarkers();
|
|
78
|
+
|
|
79
|
+
/// <inheritdoc/>
|
|
80
|
+
public override void InitializeTab() => EnableAllMarkers();
|
|
81
|
+
|
|
82
|
+
/// <inheritdoc/>
|
|
83
|
+
public override void HideTab()
|
|
84
|
+
{
|
|
85
|
+
studentGroup.alpha = 0;
|
|
86
|
+
|
|
87
|
+
studentTabHighlight.SetActive(false);
|
|
88
|
+
|
|
89
|
+
DisableMarkers();
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/// <inheritdoc/>
|
|
93
|
+
public override void ShowTab()
|
|
94
|
+
{
|
|
95
|
+
studentGroup.alpha = 1;
|
|
96
|
+
|
|
97
|
+
studentTabHighlight.SetActive(true);
|
|
98
|
+
|
|
99
|
+
EnableAllMarkers();
|
|
100
|
+
|
|
101
|
+
EventSystem.current.SetSelectedGameObject(mapMarkerSelectables[0].gameObject);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
/// <summary>
|
|
106
|
+
///
|
|
107
|
+
/// </summary>
|
|
108
|
+
protected virtual void DisableMarkers()
|
|
109
|
+
{
|
|
110
|
+
for (int i = 0; i < mapMarkerSelectables.Length; i++)
|
|
111
|
+
{
|
|
112
|
+
mapMarkerSelectables[i].enabled = false;
|
|
113
|
+
|
|
114
|
+
mapMarkerSelectables[i].interactable = false;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/// <summary>
|
|
119
|
+
///
|
|
120
|
+
/// </summary>
|
|
121
|
+
protected virtual void EnableAllMarkers()
|
|
122
|
+
{
|
|
123
|
+
EnableMarkers();
|
|
124
|
+
|
|
125
|
+
EnableMarkersInArea();
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/// <summary>
|
|
129
|
+
///
|
|
130
|
+
/// </summary>
|
|
131
|
+
protected virtual void EnableMarkers()
|
|
132
|
+
{
|
|
133
|
+
for (int i = 0; i < mapMarkerSelectables.Length; i++)
|
|
134
|
+
{
|
|
135
|
+
mapMarkerSelectables[i].enabled = true;
|
|
136
|
+
|
|
137
|
+
mapMarkerSelectables[i].interactable = true;
|
|
138
|
+
|
|
139
|
+
mapMarkerSelectables[i].SetUnavailable();
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/// <summary>
|
|
144
|
+
///
|
|
145
|
+
/// </summary>
|
|
146
|
+
protected virtual void EnableMarkersInArea()
|
|
147
|
+
{
|
|
148
|
+
var places = ServiceLocator.GetService<MapAreaManager>().GetPlaceManagers();
|
|
149
|
+
|
|
150
|
+
var names = GetMarkerSelectableNames();
|
|
151
|
+
|
|
152
|
+
foreach (var place in places)
|
|
153
|
+
foreach (string name in names)
|
|
154
|
+
if (place.ContainsMarker(name))
|
|
155
|
+
mapMarkerSelectables[names.IndexOf(name)].SetAvailable();
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/// <summary>
|
|
159
|
+
///
|
|
160
|
+
/// </summary>
|
|
161
|
+
/// <returns></returns>
|
|
162
|
+
protected virtual List<string> GetMarkerSelectableNames()
|
|
163
|
+
{
|
|
164
|
+
List<string> names = new();
|
|
165
|
+
|
|
166
|
+
for (int i = 0; i < mapMarkerSelectables.Length; i++)
|
|
167
|
+
names.Add(mapMarkerSelectables[i].GetMarkerName());
|
|
168
|
+
|
|
169
|
+
return names;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using DREditor.DialogueEventHandling;
|
|
3
|
+
using DREditor.Services;
|
|
4
|
+
using UnityEngine;
|
|
5
|
+
|
|
6
|
+
namespace DREditor.Maps
|
|
7
|
+
{
|
|
8
|
+
/// <summary>
|
|
9
|
+
///
|
|
10
|
+
/// </summary>
|
|
11
|
+
[ClassHeader(nameof(DialogueEventHandler) +
|
|
12
|
+
"\n\n")]
|
|
13
|
+
public class ClearMapAreaData : DialogueEventHandler
|
|
14
|
+
{
|
|
15
|
+
/// <inheritdoc/>
|
|
16
|
+
protected override void OnDialogueEventTriggered(object o = null)
|
|
17
|
+
=> ServiceLocator.GetService<IMapManager>().GetInstanceData().AreaEntries.Clear();
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
[ContextMenu("Set Default Event")]
|
|
21
|
+
public void SetDefaultEvent() => SetDefaultEventString("ClearMapUI");
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using DREditor.EventObjects;
|
|
3
|
+
using DREditor.Services;
|
|
4
|
+
|
|
5
|
+
namespace DREditor.Maps
|
|
6
|
+
{
|
|
7
|
+
/// <summary>
|
|
8
|
+
///
|
|
9
|
+
/// </summary>
|
|
10
|
+
/// <remarks></remarks>
|
|
11
|
+
[ClassHeader(nameof(SceneEventListener) +
|
|
12
|
+
"\n\n")]
|
|
13
|
+
public class ClearMapInstanceData : SceneEventListener
|
|
14
|
+
{
|
|
15
|
+
/// <inheritdoc/>
|
|
16
|
+
protected override void OnEnable()
|
|
17
|
+
{
|
|
18
|
+
base.OnEnable();
|
|
19
|
+
|
|
20
|
+
Response.AddListener(ClearManagerInstanceData);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/// <inheritdoc/>
|
|
24
|
+
protected override void OnDisable()
|
|
25
|
+
{
|
|
26
|
+
base.OnDisable();
|
|
27
|
+
|
|
28
|
+
Response.RemoveListener(ClearManagerInstanceData);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/// <summary>
|
|
32
|
+
///
|
|
33
|
+
/// </summary>
|
|
34
|
+
protected virtual void ClearManagerInstanceData() => ServiceLocator.GetService<IMapManager>().SetInstanceData(null);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using DREditor.EventObjects;
|
|
3
|
+
using UnityEngine;
|
|
4
|
+
|
|
5
|
+
namespace DREditor.Maps
|
|
6
|
+
{
|
|
7
|
+
/// <summary>
|
|
8
|
+
///
|
|
9
|
+
/// </summary>
|
|
10
|
+
[ClassHeader("")]
|
|
11
|
+
public class ControlFastTravel : FastTravelController<FastTravelData>
|
|
12
|
+
{
|
|
13
|
+
/// <summary>
|
|
14
|
+
///
|
|
15
|
+
/// </summary>
|
|
16
|
+
[Divider]
|
|
17
|
+
[Tooltip("")]
|
|
18
|
+
[SerializeField] protected BoolWithEvent canFastTravel = null;
|
|
19
|
+
|
|
20
|
+
/// <summary>
|
|
21
|
+
///
|
|
22
|
+
/// </summary>
|
|
23
|
+
[Tooltip("")]
|
|
24
|
+
[SerializeField] protected SceneEventListener onFinishedRoomTransitions = null;
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
/// <inheritdoc/>
|
|
28
|
+
protected override void OnEnable()
|
|
29
|
+
{
|
|
30
|
+
base.OnEnable();
|
|
31
|
+
|
|
32
|
+
onFinishedRoomTransitions.Response.AddListener(SetFastTravelability);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/// <inheritdoc/>
|
|
36
|
+
protected override void OnDisable()
|
|
37
|
+
{
|
|
38
|
+
base.OnDisable();
|
|
39
|
+
|
|
40
|
+
onFinishedRoomTransitions.Response.RemoveListener(SetFastTravelability);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/// <inheritdoc/>
|
|
44
|
+
public override void Load(string data)
|
|
45
|
+
{
|
|
46
|
+
base.Load(data);
|
|
47
|
+
|
|
48
|
+
if (this.data.SetOnAwake)
|
|
49
|
+
SetFastTravelability();
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/// <summary>
|
|
53
|
+
///
|
|
54
|
+
/// </summary>
|
|
55
|
+
protected virtual void SetFastTravelability() => canFastTravel.SetValue(data.SetFastTravelTo);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "DREditor.Maps",
|
|
3
|
+
"rootNamespace": "",
|
|
4
|
+
"references": [
|
|
5
|
+
"Unity.InputSystem",
|
|
6
|
+
"Unity.TextMeshPro",
|
|
7
|
+
"DREditor",
|
|
8
|
+
"DREditor.Editor",
|
|
9
|
+
"DREditor.Controls",
|
|
10
|
+
"DREditor.DialogueEventHandling",
|
|
11
|
+
"DREditor.Spawnables",
|
|
12
|
+
"DREditor.RoomLoading",
|
|
13
|
+
"DREditor.Saveables"
|
|
14
|
+
],
|
|
15
|
+
"includePlatforms": [],
|
|
16
|
+
"excludePlatforms": [],
|
|
17
|
+
"allowUnsafeCode": false,
|
|
18
|
+
"overrideReferences": false,
|
|
19
|
+
"precompiledReferences": [],
|
|
20
|
+
"autoReferenced": true,
|
|
21
|
+
"defineConstraints": [],
|
|
22
|
+
"versionDefines": [],
|
|
23
|
+
"noEngineReferences": false
|
|
24
|
+
}
|
package/DiscoverData.cs
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
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
|
+
[Serializable]
|
|
10
|
+
public class DiscoverData
|
|
11
|
+
{
|
|
12
|
+
/// <summary>
|
|
13
|
+
///
|
|
14
|
+
/// </summary>
|
|
15
|
+
public bool isValid = false;
|
|
16
|
+
|
|
17
|
+
/// <summary>
|
|
18
|
+
///
|
|
19
|
+
/// </summary>
|
|
20
|
+
/// <remarks></remarks>
|
|
21
|
+
public MapObjectiveData Moment;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using System;
|
|
3
|
+
using UnityEngine;
|
|
4
|
+
|
|
5
|
+
namespace DREditor.Maps
|
|
6
|
+
{
|
|
7
|
+
/// <summary>
|
|
8
|
+
///
|
|
9
|
+
/// </summary>
|
|
10
|
+
/// <remarks></remarks>
|
|
11
|
+
[Serializable]
|
|
12
|
+
public class DiscoverableBase : MapBaseData
|
|
13
|
+
{
|
|
14
|
+
/// <summary>
|
|
15
|
+
///
|
|
16
|
+
/// </summary>
|
|
17
|
+
/// <remarks></remarks>
|
|
18
|
+
/// <summary>
|
|
19
|
+
///
|
|
20
|
+
/// </summary>
|
|
21
|
+
[Tooltip("")]
|
|
22
|
+
public DiscoverData Discoverable;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using DREditor.Spawnables;
|
|
3
|
+
using UnityEngine;
|
|
4
|
+
|
|
5
|
+
namespace DREditor.Maps
|
|
6
|
+
{
|
|
7
|
+
/// <summary>
|
|
8
|
+
///
|
|
9
|
+
/// </summary>
|
|
10
|
+
/// <typeparam name="T"></typeparam>
|
|
11
|
+
public class FastTravelController<T> : Spawnable, ISaveable
|
|
12
|
+
{
|
|
13
|
+
public int SubID { get => subID; }
|
|
14
|
+
|
|
15
|
+
/// <summary>
|
|
16
|
+
///
|
|
17
|
+
/// </summary>
|
|
18
|
+
[Header("")]
|
|
19
|
+
[Divider]
|
|
20
|
+
[Tooltip("")]
|
|
21
|
+
[SerializeField] protected int subID;
|
|
22
|
+
|
|
23
|
+
/// <summary>
|
|
24
|
+
///
|
|
25
|
+
/// </summary>
|
|
26
|
+
[Header("")]
|
|
27
|
+
[Divider]
|
|
28
|
+
[Tooltip("")]
|
|
29
|
+
[SerializeField] protected T data;
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
public virtual string Save() => JsonUtility.ToJson(data);
|
|
33
|
+
|
|
34
|
+
public virtual void Load(string data) => this.data = JsonUtility.FromJson<T>(data);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using System;
|
|
3
|
+
using UnityEngine;
|
|
4
|
+
|
|
5
|
+
namespace DREditor.Maps
|
|
6
|
+
{
|
|
7
|
+
/// <summary>
|
|
8
|
+
///
|
|
9
|
+
/// </summary>
|
|
10
|
+
[Serializable]
|
|
11
|
+
public class FastTravelData
|
|
12
|
+
{
|
|
13
|
+
/// <summary>
|
|
14
|
+
///
|
|
15
|
+
/// </summary>
|
|
16
|
+
[Tooltip("")]
|
|
17
|
+
public bool SetOnAwake;
|
|
18
|
+
|
|
19
|
+
/// <summary>
|
|
20
|
+
///
|
|
21
|
+
/// </summary>
|
|
22
|
+
[Tooltip("")]
|
|
23
|
+
public bool SetFastTravelTo;
|
|
24
|
+
}
|
|
25
|
+
}
|