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.
- package/.attestation.p7m +0 -0
- package/CharacterMapMarkerUI.cs +94 -94
- package/CharacterMapMarkerUI.cs.meta +11 -11
- package/CharacterMapUITab.cs +171 -171
- package/CharacterMapUITab.cs.meta +11 -11
- package/ClearMapAreaData.cs +22 -22
- package/ClearMapAreaData.cs.meta +11 -11
- package/ClearMapInstanceData.cs +35 -35
- package/ClearMapInstanceData.cs.meta +11 -11
- package/ControlFastTravel.cs +56 -56
- package/ControlFastTravel.cs.meta +11 -11
- package/DREditor.Maps.asmdef +23 -23
- package/DREditor.Maps.asmdef.meta +7 -7
- package/DiscoverData.cs +22 -22
- package/DiscoverData.cs.meta +11 -11
- package/DiscoverableBase.cs +23 -23
- package/DiscoverableBase.cs.meta +11 -11
- package/FastTravelController.cs +35 -35
- package/FastTravelController.cs.meta +11 -11
- package/FastTravelData.cs +24 -24
- package/FastTravelData.cs.meta +11 -11
- package/FastTravelMarker.cs +106 -106
- package/FastTravelMarker.cs.meta +13 -13
- package/IDHolder.cs +46 -46
- package/IDHolder.cs.meta +11 -11
- package/IEntryLoader.cs +18 -18
- package/IEntryLoader.cs.meta +11 -11
- package/IMapManager.cs +26 -26
- package/IMapManager.cs.meta +11 -11
- package/IPlaceMarker.cs +25 -25
- package/IPlaceMarker.cs.meta +11 -11
- package/IPlaceOptionHolder.cs +52 -52
- package/IPlaceOptionHolder.cs.meta +11 -11
- package/MapAreaData.cs +52 -52
- package/MapAreaData.cs.meta +11 -11
- package/MapAreaEntry.cs +54 -54
- package/MapAreaEntry.cs.meta +11 -11
- package/MapAreaManager.cs +193 -193
- package/MapAreaManager.cs.meta +11 -11
- package/MapBaseData.cs +65 -65
- package/MapBaseData.cs.meta +11 -11
- package/MapData.cs +34 -34
- package/MapData.cs.meta +11 -11
- package/MapDatabase.cs +132 -132
- package/MapDatabase.cs.meta +11 -11
- package/MapEntry.cs +76 -76
- package/MapEntry.cs.meta +11 -11
- package/MapEntryChange.cs +320 -320
- package/MapEntryChange.cs.meta +11 -11
- package/MapEntryChanger.cs +44 -44
- package/MapEntryChanger.cs.meta +11 -11
- package/MapHoverSelector.cs +160 -160
- package/MapHoverSelector.cs.meta +11 -11
- package/MapManager.cs +287 -287
- package/MapManager.cs.meta +11 -11
- package/MapManagerBase.cs +259 -259
- package/MapManagerBase.cs.meta +11 -11
- package/MapMarkerSelectable.cs +70 -70
- package/MapMarkerSelectable.cs.meta +11 -11
- package/MapObjectiveData.cs +27 -27
- package/MapObjectiveData.cs.meta +11 -11
- package/MapSaveManager.cs +62 -62
- package/MapSaveManager.cs.meta +11 -11
- package/MapTabUIHandler.cs +97 -97
- package/MapTabUIHandler.cs.meta +11 -11
- package/MapUITab.cs +25 -25
- package/MapUITab.cs.meta +11 -11
- package/MapUtility.cs +182 -182
- package/MapUtility.cs.meta +11 -11
- package/MarkerData.cs +24 -24
- package/MarkerData.cs.meta +11 -11
- package/MarkerDatabase.cs +56 -56
- package/MarkerDatabase.cs.meta +11 -11
- package/MarkerUtility.cs +47 -47
- package/MarkerUtility.cs.meta +11 -11
- package/MarkerVessel.cs +37 -37
- package/MarkerVessel.cs.meta +11 -11
- package/PlaceData.cs +26 -26
- package/PlaceData.cs.meta +11 -11
- package/PlaceEntry.cs +82 -82
- package/PlaceEntry.cs.meta +11 -11
- package/PlaceManager.cs +292 -292
- package/PlaceManager.cs.meta +11 -11
- package/PlaceMapUITab.cs +202 -202
- package/PlaceMapUITab.cs.meta +11 -11
- package/{Samples → Samples~}/Clear_Map_Area_Data_Event.prefab +52 -52
- package/{Samples → Samples~}/Clear_Map_Area_Data_Event.prefab.meta +7 -7
- package/{Samples → Samples~}/Clear_Map_Instance_Data.prefab +56 -56
- package/{Samples → Samples~}/Clear_Map_Instance_Data.prefab.meta +7 -7
- package/{Samples → Samples~}/DRE_Map_UI.unity +461 -461
- package/{Samples → Samples~}/DRE_Map_UI.unity.meta +7 -7
- package/{Samples → Samples~}/Map_Entry_Changer.prefab +52 -52
- package/{Samples → Samples~}/Map_Entry_Changer.prefab.meta +7 -7
- package/{Samples → Samples~}/Map_Marker_Selectable_ETemplate.prefab +126 -126
- package/{Samples → Samples~}/Map_Marker_Selectable_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Map_Tab_UI_Handler_Shell.prefab +134 -134
- package/{Samples → Samples~}/Map_Tab_UI_Handler_Shell.prefab.meta +7 -7
- package/{Samples → Samples~}/Map_Tab_UI_Handler_Template.prefab +404 -404
- package/{Samples → Samples~}/Map_Tab_UI_Handler_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Map_UI_Canvas_Shell.prefab +842 -842
- package/{Samples → Samples~}/Map_UI_Canvas_Shell.prefab.meta +7 -7
- package/{Samples → Samples~}/Map_UI_Canvas_Template.prefab +996 -996
- package/{Samples → Samples~}/Map_UI_Canvas_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Map_UI_Controls_ETemplate.prefab +538 -538
- package/{Samples → Samples~}/Map_UI_Controls_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Map_UI_GO_FT_ETemplate.prefab +78 -78
- package/{Samples → Samples~}/Map_UI_GO_FT_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Map_UI_Place_Place_Name_ETemplate.prefab +181 -181
- package/{Samples → Samples~}/Map_UI_Place_Place_Name_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Map_UI_Place_Tab_Shell.prefab +57 -57
- package/{Samples → Samples~}/Map_UI_Place_Tab_Shell.prefab.meta +7 -7
- package/{Samples → Samples~}/Map_UI_Place_Tab_Template.prefab +806 -806
- package/{Samples → Samples~}/Map_UI_Place_Tab_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Map_UI_Place_Tab_UI_ETemplate.prefab +1265 -1265
- package/{Samples → Samples~}/Map_UI_Place_Tab_UI_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Map_UI_Reticle_ETemplate.prefab +78 -78
- package/{Samples → Samples~}/Map_UI_Reticle_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Map_UI_Student_Tab_Shell.prefab +267 -267
- package/{Samples → Samples~}/Map_UI_Student_Tab_Shell.prefab.meta +7 -7
- package/{Samples → Samples~}/Map_UI_Student_Tab_Template.prefab +544 -544
- package/{Samples → Samples~}/Map_UI_Student_Tab_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Map_UI_Student_Tab_UI_Shell.prefab +90 -90
- package/{Samples → Samples~}/Map_UI_Student_Tab_UI_Shell.prefab.meta +7 -7
- package/{Samples → Samples~}/Map_UI_Student_Tab_UI_Template.prefab +2031 -2031
- package/{Samples → Samples~}/Map_UI_Student_Tab_UI_Template.prefab.meta +7 -7
- package/{Samples → Samples~}/Map_UI_Title_ETemplate.prefab +672 -672
- package/{Samples → Samples~}/Map_UI_Title_ETemplate.prefab.meta +7 -7
- package/{Samples → Samples~}/Place_Template.prefab +200 -200
- package/{Samples → Samples~}/Place_Template.prefab.meta +7 -7
- package/package.json +45 -40
- package/package.json.meta +7 -7
- package/Samples.meta +0 -8
package/MapUITab.cs.meta
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 6da377f69541a2e4d89792ea5ccfd1ed
|
|
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: 6da377f69541a2e4d89792ea5ccfd1ed
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
package/MapUtility.cs
CHANGED
|
@@ -1,183 +1,183 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
#if UNITY_EDITOR
|
|
3
|
-
using DREditor.Editor.Utility;
|
|
4
|
-
using System.Collections.Generic;
|
|
5
|
-
using System.Linq;
|
|
6
|
-
using UnityEditor;
|
|
7
|
-
using UnityEngine;
|
|
8
|
-
|
|
9
|
-
namespace DREditor.Maps
|
|
10
|
-
{
|
|
11
|
-
/// <summary>
|
|
12
|
-
///
|
|
13
|
-
/// </summary>
|
|
14
|
-
public static class MapUtility
|
|
15
|
-
{
|
|
16
|
-
/// <summary>
|
|
17
|
-
///
|
|
18
|
-
/// </summary>
|
|
19
|
-
[MenuItem("DREditor/Import/Map/Selected Area into Database")]
|
|
20
|
-
public static void ImportAreas()
|
|
21
|
-
{
|
|
22
|
-
MapDatabase database = DatabaseUtility.LoadDatabase<MapDatabase>();
|
|
23
|
-
|
|
24
|
-
if (database == null)
|
|
25
|
-
return;
|
|
26
|
-
|
|
27
|
-
List<MapAreaManager> managers = GetSelectedAreaManagers();
|
|
28
|
-
|
|
29
|
-
for (int i = 0; i < managers.Count; i++)
|
|
30
|
-
{
|
|
31
|
-
UpdateAreaPlaces(managers[i]);
|
|
32
|
-
|
|
33
|
-
if (CheckForExistingAreas(database, managers[i]))
|
|
34
|
-
continue;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
EditorUtility.SetDirty(database);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/// <summary>
|
|
41
|
-
///
|
|
42
|
-
/// </summary>
|
|
43
|
-
/// <param name="area"></param>
|
|
44
|
-
/// <param name="places"></param>
|
|
45
|
-
static void MissingPlacesWindow(MapAreaManager area, PlaceManager[] places)
|
|
46
|
-
{
|
|
47
|
-
if (area.Data.places.Count != places.Length &&
|
|
48
|
-
EditorUtility.DisplayDialog("Missing Places Detected",
|
|
49
|
-
"Missing Places detected, import?", "Yes", "No"))
|
|
50
|
-
{
|
|
51
|
-
UnityEngine.Debug.Log(area.Data.name + " Had Missing ref's : " + area.Data.places.Count + " To Found: " + places.Length);
|
|
52
|
-
|
|
53
|
-
foreach (var place in places)
|
|
54
|
-
area.AddPlaceManager(place);
|
|
55
|
-
|
|
56
|
-
EditorUtility.SetDirty(area);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/// <summary>
|
|
61
|
-
///
|
|
62
|
-
/// </summary>
|
|
63
|
-
/// <param name="database"></param>
|
|
64
|
-
/// <param name="area"></param>
|
|
65
|
-
/// <returns></returns>
|
|
66
|
-
static bool CheckForExistingAreas(MapDatabase database, MapAreaManager area)
|
|
67
|
-
{
|
|
68
|
-
List<MapAreaData> dataList = database.floors.Where(databaseArea => databaseArea.GetID() == area.Data.GetID()).ToList();
|
|
69
|
-
|
|
70
|
-
if (dataList.Count == 0)
|
|
71
|
-
database.floors.Add(area.Data);
|
|
72
|
-
else if (!ExistingAreaWindow(database, area, dataList))
|
|
73
|
-
return true;
|
|
74
|
-
|
|
75
|
-
var areaPrefab = PrefabUtility.GetCorrespondingObjectFromSource(area.gameObject);
|
|
76
|
-
|
|
77
|
-
area.Data.SetPrefab(areaPrefab);
|
|
78
|
-
|
|
79
|
-
return false;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/// <summary>
|
|
83
|
-
///
|
|
84
|
-
/// </summary>
|
|
85
|
-
/// <param name="database"></param>
|
|
86
|
-
/// <param name="area"></param>
|
|
87
|
-
/// <param name="dataList"></param>
|
|
88
|
-
/// <returns></returns>
|
|
89
|
-
static bool ExistingAreaWindow(MapDatabase database, MapAreaManager area, List<MapAreaData> dataList)
|
|
90
|
-
{
|
|
91
|
-
if (EditorUtility.DisplayDialog("Existing Area Data Detected",
|
|
92
|
-
"Database contains Data for area " + area.Data.name + ", replace it?", "Yes", "No"))
|
|
93
|
-
{
|
|
94
|
-
int areaIDX = database.floors.IndexOf(dataList[0]);
|
|
95
|
-
|
|
96
|
-
database.floors[areaIDX] = area.Data;
|
|
97
|
-
|
|
98
|
-
return false;
|
|
99
|
-
}
|
|
100
|
-
else
|
|
101
|
-
{
|
|
102
|
-
UnityEngine.Debug.Log("Skipping Area " + area.Data.name + " Import Process");
|
|
103
|
-
|
|
104
|
-
return true;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/// <summary>
|
|
109
|
-
///
|
|
110
|
-
/// </summary>
|
|
111
|
-
/// <remarks></remarks>
|
|
112
|
-
[MenuItem("DREditor/Import/Map/Area Places")]
|
|
113
|
-
public static void ImportAreaPlaces()
|
|
114
|
-
{
|
|
115
|
-
List<MapAreaManager> managers = GetSelectedAreaManagers();
|
|
116
|
-
|
|
117
|
-
for (int i = 0; i < managers.Count; i++)
|
|
118
|
-
UpdateAreaPlaces(managers[i]);
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/// <summary>
|
|
122
|
-
///
|
|
123
|
-
/// </summary>
|
|
124
|
-
/// <returns></returns>
|
|
125
|
-
static List<MapAreaManager> GetSelectedAreaManagers()
|
|
126
|
-
{
|
|
127
|
-
List<MapAreaManager> managers = new();
|
|
128
|
-
|
|
129
|
-
foreach (var selectedObject in Selection.objects)
|
|
130
|
-
if (selectedObject is GameObject go && go.TryGetComponent<MapAreaManager>(out var area))
|
|
131
|
-
managers.Add(area);
|
|
132
|
-
|
|
133
|
-
return managers;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/// <summary>
|
|
137
|
-
///
|
|
138
|
-
/// </summary>
|
|
139
|
-
/// <param name="area"></param>
|
|
140
|
-
/// <returns></returns>
|
|
141
|
-
static MapAreaData UpdateAreaPlaces(MapAreaManager area)
|
|
142
|
-
{
|
|
143
|
-
PlaceManager[] places = area.gameObject.GetComponentsInChildren<PlaceManager>();
|
|
144
|
-
|
|
145
|
-
GenerateMissingPlaceIDs(places);
|
|
146
|
-
|
|
147
|
-
MissingPlacesWindow(area, places);
|
|
148
|
-
|
|
149
|
-
EditorUtility.SetDirty(area);
|
|
150
|
-
|
|
151
|
-
return area.Data;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
/// <summary>
|
|
155
|
-
///
|
|
156
|
-
/// </summary>
|
|
157
|
-
/// <param name="places"></param>
|
|
158
|
-
static void GenerateMissingPlaceIDs(PlaceManager[] places)
|
|
159
|
-
{
|
|
160
|
-
foreach (var place in places)
|
|
161
|
-
if (place.Data.GetID() == "")
|
|
162
|
-
place.Data.GenerateID();
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
/// <summary>
|
|
166
|
-
///
|
|
167
|
-
/// </summary>
|
|
168
|
-
[MenuItem("DREditor/Map/Update Map Database Data From Prefabs")]
|
|
169
|
-
public static void UpdateMapData()
|
|
170
|
-
{
|
|
171
|
-
MapDatabase database = DatabaseUtility.LoadDatabase<MapDatabase>();
|
|
172
|
-
|
|
173
|
-
if (database == null)
|
|
174
|
-
UnityEngine.Debug.LogWarning($"{nameof(MapUtility)}: UpdateMapData: " +
|
|
175
|
-
$"No Map Database could be found to use this function!");
|
|
176
|
-
else
|
|
177
|
-
for (int i = 0; i < database.floors.Count; i++)
|
|
178
|
-
if (database.floors[i].prefab != null)
|
|
179
|
-
database.floors[i] = UpdateAreaPlaces(database.floors[i].prefab.GetComponent<MapAreaManager>());
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
#if UNITY_EDITOR
|
|
3
|
+
using DREditor.Editor.Utility;
|
|
4
|
+
using System.Collections.Generic;
|
|
5
|
+
using System.Linq;
|
|
6
|
+
using UnityEditor;
|
|
7
|
+
using UnityEngine;
|
|
8
|
+
|
|
9
|
+
namespace DREditor.Maps
|
|
10
|
+
{
|
|
11
|
+
/// <summary>
|
|
12
|
+
///
|
|
13
|
+
/// </summary>
|
|
14
|
+
public static class MapUtility
|
|
15
|
+
{
|
|
16
|
+
/// <summary>
|
|
17
|
+
///
|
|
18
|
+
/// </summary>
|
|
19
|
+
[MenuItem("DREditor/Import/Map/Selected Area into Database")]
|
|
20
|
+
public static void ImportAreas()
|
|
21
|
+
{
|
|
22
|
+
MapDatabase database = DatabaseUtility.LoadDatabase<MapDatabase>();
|
|
23
|
+
|
|
24
|
+
if (database == null)
|
|
25
|
+
return;
|
|
26
|
+
|
|
27
|
+
List<MapAreaManager> managers = GetSelectedAreaManagers();
|
|
28
|
+
|
|
29
|
+
for (int i = 0; i < managers.Count; i++)
|
|
30
|
+
{
|
|
31
|
+
UpdateAreaPlaces(managers[i]);
|
|
32
|
+
|
|
33
|
+
if (CheckForExistingAreas(database, managers[i]))
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
EditorUtility.SetDirty(database);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/// <summary>
|
|
41
|
+
///
|
|
42
|
+
/// </summary>
|
|
43
|
+
/// <param name="area"></param>
|
|
44
|
+
/// <param name="places"></param>
|
|
45
|
+
static void MissingPlacesWindow(MapAreaManager area, PlaceManager[] places)
|
|
46
|
+
{
|
|
47
|
+
if (area.Data.places.Count != places.Length &&
|
|
48
|
+
EditorUtility.DisplayDialog("Missing Places Detected",
|
|
49
|
+
"Missing Places detected, import?", "Yes", "No"))
|
|
50
|
+
{
|
|
51
|
+
UnityEngine.Debug.Log(area.Data.name + " Had Missing ref's : " + area.Data.places.Count + " To Found: " + places.Length);
|
|
52
|
+
|
|
53
|
+
foreach (var place in places)
|
|
54
|
+
area.AddPlaceManager(place);
|
|
55
|
+
|
|
56
|
+
EditorUtility.SetDirty(area);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/// <summary>
|
|
61
|
+
///
|
|
62
|
+
/// </summary>
|
|
63
|
+
/// <param name="database"></param>
|
|
64
|
+
/// <param name="area"></param>
|
|
65
|
+
/// <returns></returns>
|
|
66
|
+
static bool CheckForExistingAreas(MapDatabase database, MapAreaManager area)
|
|
67
|
+
{
|
|
68
|
+
List<MapAreaData> dataList = database.floors.Where(databaseArea => databaseArea.GetID() == area.Data.GetID()).ToList();
|
|
69
|
+
|
|
70
|
+
if (dataList.Count == 0)
|
|
71
|
+
database.floors.Add(area.Data);
|
|
72
|
+
else if (!ExistingAreaWindow(database, area, dataList))
|
|
73
|
+
return true;
|
|
74
|
+
|
|
75
|
+
var areaPrefab = PrefabUtility.GetCorrespondingObjectFromSource(area.gameObject);
|
|
76
|
+
|
|
77
|
+
area.Data.SetPrefab(areaPrefab);
|
|
78
|
+
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/// <summary>
|
|
83
|
+
///
|
|
84
|
+
/// </summary>
|
|
85
|
+
/// <param name="database"></param>
|
|
86
|
+
/// <param name="area"></param>
|
|
87
|
+
/// <param name="dataList"></param>
|
|
88
|
+
/// <returns></returns>
|
|
89
|
+
static bool ExistingAreaWindow(MapDatabase database, MapAreaManager area, List<MapAreaData> dataList)
|
|
90
|
+
{
|
|
91
|
+
if (EditorUtility.DisplayDialog("Existing Area Data Detected",
|
|
92
|
+
"Database contains Data for area " + area.Data.name + ", replace it?", "Yes", "No"))
|
|
93
|
+
{
|
|
94
|
+
int areaIDX = database.floors.IndexOf(dataList[0]);
|
|
95
|
+
|
|
96
|
+
database.floors[areaIDX] = area.Data;
|
|
97
|
+
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
else
|
|
101
|
+
{
|
|
102
|
+
UnityEngine.Debug.Log("Skipping Area " + area.Data.name + " Import Process");
|
|
103
|
+
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/// <summary>
|
|
109
|
+
///
|
|
110
|
+
/// </summary>
|
|
111
|
+
/// <remarks></remarks>
|
|
112
|
+
[MenuItem("DREditor/Import/Map/Area Places")]
|
|
113
|
+
public static void ImportAreaPlaces()
|
|
114
|
+
{
|
|
115
|
+
List<MapAreaManager> managers = GetSelectedAreaManagers();
|
|
116
|
+
|
|
117
|
+
for (int i = 0; i < managers.Count; i++)
|
|
118
|
+
UpdateAreaPlaces(managers[i]);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/// <summary>
|
|
122
|
+
///
|
|
123
|
+
/// </summary>
|
|
124
|
+
/// <returns></returns>
|
|
125
|
+
static List<MapAreaManager> GetSelectedAreaManagers()
|
|
126
|
+
{
|
|
127
|
+
List<MapAreaManager> managers = new();
|
|
128
|
+
|
|
129
|
+
foreach (var selectedObject in Selection.objects)
|
|
130
|
+
if (selectedObject is GameObject go && go.TryGetComponent<MapAreaManager>(out var area))
|
|
131
|
+
managers.Add(area);
|
|
132
|
+
|
|
133
|
+
return managers;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/// <summary>
|
|
137
|
+
///
|
|
138
|
+
/// </summary>
|
|
139
|
+
/// <param name="area"></param>
|
|
140
|
+
/// <returns></returns>
|
|
141
|
+
static MapAreaData UpdateAreaPlaces(MapAreaManager area)
|
|
142
|
+
{
|
|
143
|
+
PlaceManager[] places = area.gameObject.GetComponentsInChildren<PlaceManager>();
|
|
144
|
+
|
|
145
|
+
GenerateMissingPlaceIDs(places);
|
|
146
|
+
|
|
147
|
+
MissingPlacesWindow(area, places);
|
|
148
|
+
|
|
149
|
+
EditorUtility.SetDirty(area);
|
|
150
|
+
|
|
151
|
+
return area.Data;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/// <summary>
|
|
155
|
+
///
|
|
156
|
+
/// </summary>
|
|
157
|
+
/// <param name="places"></param>
|
|
158
|
+
static void GenerateMissingPlaceIDs(PlaceManager[] places)
|
|
159
|
+
{
|
|
160
|
+
foreach (var place in places)
|
|
161
|
+
if (place.Data.GetID() == "")
|
|
162
|
+
place.Data.GenerateID();
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/// <summary>
|
|
166
|
+
///
|
|
167
|
+
/// </summary>
|
|
168
|
+
[MenuItem("DREditor/Map/Update Map Database Data From Prefabs")]
|
|
169
|
+
public static void UpdateMapData()
|
|
170
|
+
{
|
|
171
|
+
MapDatabase database = DatabaseUtility.LoadDatabase<MapDatabase>();
|
|
172
|
+
|
|
173
|
+
if (database == null)
|
|
174
|
+
UnityEngine.Debug.LogWarning($"{nameof(MapUtility)}: UpdateMapData: " +
|
|
175
|
+
$"No Map Database could be found to use this function!");
|
|
176
|
+
else
|
|
177
|
+
for (int i = 0; i < database.floors.Count; i++)
|
|
178
|
+
if (database.floors[i].prefab != null)
|
|
179
|
+
database.floors[i] = UpdateAreaPlaces(database.floors[i].prefab.GetComponent<MapAreaManager>());
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
183
|
#endif
|
package/MapUtility.cs.meta
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 799a9186b2dbc7e4fa217ffbd2c86e44
|
|
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: 799a9186b2dbc7e4fa217ffbd2c86e44
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
package/MarkerData.cs
CHANGED
|
@@ -1,25 +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 MarkerData : MapBaseData
|
|
12
|
-
{
|
|
13
|
-
/// <summary>
|
|
14
|
-
///
|
|
15
|
-
/// </summary>
|
|
16
|
-
[Tooltip("")]
|
|
17
|
-
public Vector3 localPosition = Vector3.zero;
|
|
18
|
-
|
|
19
|
-
/// <summary>
|
|
20
|
-
///
|
|
21
|
-
/// </summary>
|
|
22
|
-
[Tooltip("")]
|
|
23
|
-
public Vector2 sizeDelta = Vector2.zero;
|
|
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
|
+
[Serializable]
|
|
11
|
+
public class MarkerData : MapBaseData
|
|
12
|
+
{
|
|
13
|
+
/// <summary>
|
|
14
|
+
///
|
|
15
|
+
/// </summary>
|
|
16
|
+
[Tooltip("")]
|
|
17
|
+
public Vector3 localPosition = Vector3.zero;
|
|
18
|
+
|
|
19
|
+
/// <summary>
|
|
20
|
+
///
|
|
21
|
+
/// </summary>
|
|
22
|
+
[Tooltip("")]
|
|
23
|
+
public Vector2 sizeDelta = Vector2.zero;
|
|
24
|
+
}
|
|
25
25
|
}
|
package/MarkerData.cs.meta
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 02960165bca338d489349bbb3369cbea
|
|
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: 02960165bca338d489349bbb3369cbea
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|
package/MarkerDatabase.cs
CHANGED
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
-
using System;
|
|
3
|
-
using System.Collections.Generic;
|
|
4
|
-
using System.Linq;
|
|
5
|
-
using UnityEngine;
|
|
6
|
-
|
|
7
|
-
namespace DREditor.Maps
|
|
8
|
-
{
|
|
9
|
-
/// <summary>
|
|
10
|
-
///
|
|
11
|
-
/// </summary>
|
|
12
|
-
[CreateAssetMenu(menuName = "DREditor/Map/Marker Database", fileName = "Marker_Database")]
|
|
13
|
-
[Serializable]
|
|
14
|
-
public class MarkerDatabase : ScriptableObject
|
|
15
|
-
{
|
|
16
|
-
/// <summary>
|
|
17
|
-
///
|
|
18
|
-
/// </summary>
|
|
19
|
-
[Header("")]
|
|
20
|
-
[Divider]
|
|
21
|
-
[Tooltip("")]
|
|
22
|
-
public List<MarkerVessel> Entries = new();
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
/// <summary>
|
|
26
|
-
///
|
|
27
|
-
/// </summary>
|
|
28
|
-
/// <param name="data"></param>
|
|
29
|
-
/// <returns></returns>
|
|
30
|
-
public virtual MarkerVessel GetVesselByData(MarkerData data)
|
|
31
|
-
{
|
|
32
|
-
if (Entries.Where(e => e.markerData.name == data.name).ToList() is List<MarkerVessel> list &&
|
|
33
|
-
list.Count > 0)
|
|
34
|
-
return list[0];
|
|
35
|
-
|
|
36
|
-
if (Entries.Where(e => e.markerData.GetID() == data.GetID()).ToList() is List<MarkerVessel> idList &&
|
|
37
|
-
idList.Count > 0)
|
|
38
|
-
return idList[0];
|
|
39
|
-
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/// <summary>
|
|
44
|
-
///
|
|
45
|
-
/// </summary>
|
|
46
|
-
/// <returns></returns>
|
|
47
|
-
public virtual string[] GetVesselNames()
|
|
48
|
-
{
|
|
49
|
-
string[] names = new string[Entries.Count];
|
|
50
|
-
|
|
51
|
-
for(int i = 0; i < Entries.Count; i++)
|
|
52
|
-
names[i] = Entries[i].name;
|
|
53
|
-
|
|
54
|
-
return names;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
1
|
+
//Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
|
|
2
|
+
using System;
|
|
3
|
+
using System.Collections.Generic;
|
|
4
|
+
using System.Linq;
|
|
5
|
+
using UnityEngine;
|
|
6
|
+
|
|
7
|
+
namespace DREditor.Maps
|
|
8
|
+
{
|
|
9
|
+
/// <summary>
|
|
10
|
+
///
|
|
11
|
+
/// </summary>
|
|
12
|
+
[CreateAssetMenu(menuName = "DREditor/Map/Marker Database", fileName = "Marker_Database")]
|
|
13
|
+
[Serializable]
|
|
14
|
+
public class MarkerDatabase : ScriptableObject
|
|
15
|
+
{
|
|
16
|
+
/// <summary>
|
|
17
|
+
///
|
|
18
|
+
/// </summary>
|
|
19
|
+
[Header("")]
|
|
20
|
+
[Divider]
|
|
21
|
+
[Tooltip("")]
|
|
22
|
+
public List<MarkerVessel> Entries = new();
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
/// <summary>
|
|
26
|
+
///
|
|
27
|
+
/// </summary>
|
|
28
|
+
/// <param name="data"></param>
|
|
29
|
+
/// <returns></returns>
|
|
30
|
+
public virtual MarkerVessel GetVesselByData(MarkerData data)
|
|
31
|
+
{
|
|
32
|
+
if (Entries.Where(e => e.markerData.name == data.name).ToList() is List<MarkerVessel> list &&
|
|
33
|
+
list.Count > 0)
|
|
34
|
+
return list[0];
|
|
35
|
+
|
|
36
|
+
if (Entries.Where(e => e.markerData.GetID() == data.GetID()).ToList() is List<MarkerVessel> idList &&
|
|
37
|
+
idList.Count > 0)
|
|
38
|
+
return idList[0];
|
|
39
|
+
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/// <summary>
|
|
44
|
+
///
|
|
45
|
+
/// </summary>
|
|
46
|
+
/// <returns></returns>
|
|
47
|
+
public virtual string[] GetVesselNames()
|
|
48
|
+
{
|
|
49
|
+
string[] names = new string[Entries.Count];
|
|
50
|
+
|
|
51
|
+
for(int i = 0; i < Entries.Count; i++)
|
|
52
|
+
names[i] = Entries[i].name;
|
|
53
|
+
|
|
54
|
+
return names;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
57
|
}
|
package/MarkerDatabase.cs.meta
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
fileFormatVersion: 2
|
|
2
|
-
guid: 2279639fbd10a574da79d267fa01a304
|
|
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: 2279639fbd10a574da79d267fa01a304
|
|
3
|
+
MonoImporter:
|
|
4
|
+
externalObjects: {}
|
|
5
|
+
serializedVersion: 2
|
|
6
|
+
defaultReferences: []
|
|
7
|
+
executionOrder: 0
|
|
8
|
+
icon: {instanceID: 0}
|
|
9
|
+
userData:
|
|
10
|
+
assetBundleName:
|
|
11
|
+
assetBundleVariant:
|