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.
Files changed (132) hide show
  1. package/CharacterMapMarkerUI.cs +95 -0
  2. package/CharacterMapMarkerUI.cs.meta +11 -0
  3. package/CharacterMapUITab.cs +172 -0
  4. package/CharacterMapUITab.cs.meta +11 -0
  5. package/ClearMapAreaData.cs +23 -0
  6. package/ClearMapAreaData.cs.meta +11 -0
  7. package/ClearMapInstanceData.cs +36 -0
  8. package/ClearMapInstanceData.cs.meta +11 -0
  9. package/ControlFastTravel.cs +57 -0
  10. package/ControlFastTravel.cs.meta +11 -0
  11. package/DREditor.Maps.asmdef +24 -0
  12. package/DREditor.Maps.asmdef.meta +7 -0
  13. package/DiscoverData.cs +23 -0
  14. package/DiscoverData.cs.meta +11 -0
  15. package/DiscoverableBase.cs +24 -0
  16. package/DiscoverableBase.cs.meta +11 -0
  17. package/FastTravelController.cs +36 -0
  18. package/FastTravelController.cs.meta +11 -0
  19. package/FastTravelData.cs +25 -0
  20. package/FastTravelData.cs.meta +11 -0
  21. package/FastTravelMarker.cs +107 -0
  22. package/FastTravelMarker.cs.meta +13 -0
  23. package/IDHolder.cs +47 -0
  24. package/IDHolder.cs.meta +11 -0
  25. package/IEntryLoader.cs +19 -0
  26. package/IEntryLoader.cs.meta +11 -0
  27. package/IMapManager.cs +27 -0
  28. package/IMapManager.cs.meta +11 -0
  29. package/IPlaceMarker.cs +26 -0
  30. package/IPlaceMarker.cs.meta +11 -0
  31. package/IPlaceOptionHolder.cs +53 -0
  32. package/IPlaceOptionHolder.cs.meta +11 -0
  33. package/MapAreaData.cs +53 -0
  34. package/MapAreaData.cs.meta +11 -0
  35. package/MapAreaEntry.cs +55 -0
  36. package/MapAreaEntry.cs.meta +11 -0
  37. package/MapAreaManager.cs +194 -0
  38. package/MapAreaManager.cs.meta +11 -0
  39. package/MapBaseData.cs +66 -0
  40. package/MapBaseData.cs.meta +11 -0
  41. package/MapData.cs +35 -0
  42. package/MapData.cs.meta +11 -0
  43. package/MapDatabase.cs +133 -0
  44. package/MapDatabase.cs.meta +11 -0
  45. package/MapEntry.cs +77 -0
  46. package/MapEntry.cs.meta +11 -0
  47. package/MapEntryChange.cs +321 -0
  48. package/MapEntryChange.cs.meta +11 -0
  49. package/MapEntryChanger.cs +45 -0
  50. package/MapEntryChanger.cs.meta +11 -0
  51. package/MapHoverSelector.cs +161 -0
  52. package/MapHoverSelector.cs.meta +11 -0
  53. package/MapManager.cs +288 -0
  54. package/MapManager.cs.meta +11 -0
  55. package/MapManagerBase.cs +260 -0
  56. package/MapManagerBase.cs.meta +11 -0
  57. package/MapMarkerSelectable.cs +71 -0
  58. package/MapMarkerSelectable.cs.meta +11 -0
  59. package/MapObjectiveData.cs +28 -0
  60. package/MapObjectiveData.cs.meta +11 -0
  61. package/MapSaveManager.cs +63 -0
  62. package/MapSaveManager.cs.meta +11 -0
  63. package/MapTabUIHandler.cs +98 -0
  64. package/MapTabUIHandler.cs.meta +11 -0
  65. package/MapUITab.cs +26 -0
  66. package/MapUITab.cs.meta +11 -0
  67. package/MapUtility.cs +183 -0
  68. package/MapUtility.cs.meta +11 -0
  69. package/MarkerData.cs +25 -0
  70. package/MarkerData.cs.meta +11 -0
  71. package/MarkerDatabase.cs +57 -0
  72. package/MarkerDatabase.cs.meta +11 -0
  73. package/MarkerUtility.cs +48 -0
  74. package/MarkerUtility.cs.meta +11 -0
  75. package/MarkerVessel.cs +38 -0
  76. package/MarkerVessel.cs.meta +11 -0
  77. package/PlaceData.cs +27 -0
  78. package/PlaceData.cs.meta +11 -0
  79. package/PlaceEntry.cs +83 -0
  80. package/PlaceEntry.cs.meta +11 -0
  81. package/PlaceManager.cs +293 -0
  82. package/PlaceManager.cs.meta +11 -0
  83. package/PlaceMapUITab.cs +203 -0
  84. package/PlaceMapUITab.cs.meta +11 -0
  85. package/Samples/Clear_Map_Area_Data_Event.prefab +52 -0
  86. package/Samples/Clear_Map_Area_Data_Event.prefab.meta +7 -0
  87. package/Samples/Clear_Map_Instance_Data.prefab +56 -0
  88. package/Samples/Clear_Map_Instance_Data.prefab.meta +7 -0
  89. package/Samples/DRE_Map_UI.unity +461 -0
  90. package/Samples/DRE_Map_UI.unity.meta +7 -0
  91. package/Samples/Map_Entry_Changer.prefab +52 -0
  92. package/Samples/Map_Entry_Changer.prefab.meta +7 -0
  93. package/Samples/Map_Marker_Selectable_ETemplate.prefab +126 -0
  94. package/Samples/Map_Marker_Selectable_ETemplate.prefab.meta +7 -0
  95. package/Samples/Map_Tab_UI_Handler_Shell.prefab +134 -0
  96. package/Samples/Map_Tab_UI_Handler_Shell.prefab.meta +7 -0
  97. package/Samples/Map_Tab_UI_Handler_Template.prefab +404 -0
  98. package/Samples/Map_Tab_UI_Handler_Template.prefab.meta +7 -0
  99. package/Samples/Map_UI_Canvas_Shell.prefab +842 -0
  100. package/Samples/Map_UI_Canvas_Shell.prefab.meta +7 -0
  101. package/Samples/Map_UI_Canvas_Template.prefab +996 -0
  102. package/Samples/Map_UI_Canvas_Template.prefab.meta +7 -0
  103. package/Samples/Map_UI_Controls_ETemplate.prefab +538 -0
  104. package/Samples/Map_UI_Controls_ETemplate.prefab.meta +7 -0
  105. package/Samples/Map_UI_GO_FT_ETemplate.prefab +78 -0
  106. package/Samples/Map_UI_GO_FT_ETemplate.prefab.meta +7 -0
  107. package/Samples/Map_UI_Place_Place_Name_ETemplate.prefab +181 -0
  108. package/Samples/Map_UI_Place_Place_Name_ETemplate.prefab.meta +7 -0
  109. package/Samples/Map_UI_Place_Tab_Shell.prefab +57 -0
  110. package/Samples/Map_UI_Place_Tab_Shell.prefab.meta +7 -0
  111. package/Samples/Map_UI_Place_Tab_Template.prefab +806 -0
  112. package/Samples/Map_UI_Place_Tab_Template.prefab.meta +7 -0
  113. package/Samples/Map_UI_Place_Tab_UI_ETemplate.prefab +1265 -0
  114. package/Samples/Map_UI_Place_Tab_UI_ETemplate.prefab.meta +7 -0
  115. package/Samples/Map_UI_Reticle_ETemplate.prefab +78 -0
  116. package/Samples/Map_UI_Reticle_ETemplate.prefab.meta +7 -0
  117. package/Samples/Map_UI_Student_Tab_Shell.prefab +267 -0
  118. package/Samples/Map_UI_Student_Tab_Shell.prefab.meta +7 -0
  119. package/Samples/Map_UI_Student_Tab_Template.prefab +544 -0
  120. package/Samples/Map_UI_Student_Tab_Template.prefab.meta +7 -0
  121. package/Samples/Map_UI_Student_Tab_UI_Shell.prefab +90 -0
  122. package/Samples/Map_UI_Student_Tab_UI_Shell.prefab.meta +7 -0
  123. package/Samples/Map_UI_Student_Tab_UI_Template.prefab +2031 -0
  124. package/Samples/Map_UI_Student_Tab_UI_Template.prefab.meta +7 -0
  125. package/Samples/Map_UI_Title_ETemplate.prefab +672 -0
  126. package/Samples/Map_UI_Title_ETemplate.prefab.meta +7 -0
  127. package/Samples/Place_Template.prefab +200 -0
  128. package/Samples/Place_Template.prefab.meta +7 -0
  129. package/Samples.meta +8 -0
  130. package/package.json +40 -6
  131. package/package.json.meta +7 -0
  132. package/README.md +0 -3
@@ -0,0 +1,293 @@
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using System.Collections.Generic;
3
+ using System.Linq;
4
+ using UnityEngine;
5
+ using UnityEngine.UI;
6
+
7
+ namespace DREditor.Maps
8
+ {
9
+ /// <summary>
10
+ ///
11
+ /// </summary>
12
+ [ClassHeader("")]
13
+ public class PlaceManager : MonoBehaviour
14
+ {
15
+ /// <summary>
16
+ ///
17
+ /// </summary>
18
+ [Header("")]
19
+ [Divider]
20
+ [Tooltip("")]
21
+ [SerializeField] protected PlaceEntry Entry;
22
+
23
+ /// <summary>
24
+ ///
25
+ /// </summary>
26
+ [Tooltip("")]
27
+ [SerializeField] protected List<Image> markers = new();
28
+
29
+ /// <summary>
30
+ ///
31
+ /// </summary>
32
+ [Tooltip("")]
33
+ [SerializeField] protected IPlaceMarker[] placeMarkers = null;
34
+
35
+
36
+ /// <summary>
37
+ ///
38
+ /// </summary>
39
+ [Header("")]
40
+ [Divider]
41
+ [Tooltip("")]
42
+ public PlaceData Data;
43
+
44
+ /// <summary>
45
+ ///
46
+ /// </summary>
47
+ [Tooltip("")]
48
+ [SerializeField] protected MarkerDatabase database = null;
49
+
50
+ /// <summary>
51
+ ///
52
+ /// </summary>
53
+ [Tooltip("")]
54
+ [SerializeField] protected Image RoomImage = null;
55
+
56
+
57
+ /// <summary>
58
+ ///
59
+ /// </summary>
60
+ protected virtual void Awake() => InitializePlaceMarkers();
61
+
62
+ /// <summary>
63
+ ///
64
+ /// </summary>
65
+ protected virtual void InitializePlaceMarkers()
66
+ {
67
+ placeMarkers = GetComponentsInChildren<MonoBehaviour>().OfType<IPlaceMarker>().ToArray();
68
+
69
+ foreach (var markers in placeMarkers)
70
+ markers.Initialize(Data);
71
+ }
72
+
73
+ /// <summary>
74
+ ///
75
+ /// </summary>
76
+ /// <returns></returns>
77
+ public virtual PlaceEntry GetEntryInstance() => Entry;
78
+
79
+ /// <summary>
80
+ ///
81
+ /// </summary>
82
+ /// <param name="visible"></param>
83
+ public virtual void SetPlaceVisibilityTo(bool visible)
84
+ {
85
+ if (RoomImage != null)
86
+ RoomImage.enabled = visible;
87
+ }
88
+
89
+ /// <summary>
90
+ ///
91
+ /// </summary>
92
+ /// <returns></returns>
93
+ public virtual bool HasRoomImage() => RoomImage != null;
94
+
95
+ /// <summary>
96
+ ///
97
+ /// </summary>
98
+ /// <param name="entry"></param>
99
+ public virtual void LoadPlace(PlaceEntry entry)
100
+ {
101
+ if (entry != Entry)
102
+ {
103
+ Entry = entry;
104
+
105
+ Load();
106
+
107
+ ClearMarkerList();
108
+
109
+ LoadMarkerData();
110
+
111
+ LoadHandlers();
112
+ }
113
+ else
114
+ UnityEngine.Debug.Log("Place Marker: " + Data.name + " has Identified no change in state.");
115
+ }
116
+
117
+ /// <summary>
118
+ ///
119
+ /// </summary>
120
+ protected virtual void LoadMarkerData()
121
+ {
122
+ ValidateEntry();
123
+
124
+ foreach (var markerVessel in Entry.MarkerVessels)
125
+ CreateMarker(markerVessel);
126
+ }
127
+
128
+ /// <summary>
129
+ ///
130
+ /// </summary>
131
+ protected virtual void ValidateEntry()
132
+ {
133
+ if (Entry.MarkerDatas.Count > Entry.MarkerVessels.Count)
134
+ foreach (var markerData in Entry.MarkerDatas)
135
+ Entry.MarkerVessels.Add(database.GetVesselByData(markerData));
136
+
137
+ if (Entry.MarkerDatas.Count < Entry.MarkerVessels.Count)
138
+ foreach (var markerVessel in Entry.MarkerVessels)
139
+ if (markerVessel != null)
140
+ Entry.MarkerDatas.Add(markerVessel.markerData);
141
+ }
142
+
143
+ /// <summary>
144
+ ///
145
+ /// </summary>
146
+ protected virtual void ClearMarkerList()
147
+ {
148
+ foreach (Image image in markers)
149
+ Destroy(image.gameObject);
150
+
151
+ markers.Clear();
152
+ }
153
+
154
+ /// <summary>
155
+ ///
156
+ /// </summary>
157
+ protected virtual void LoadHandlers()
158
+ {
159
+ foreach (IEntryLoader entryLoader in GetComponentsInChildren<MonoBehaviour>().OfType<IEntryLoader>())
160
+ entryLoader.LoadEntry(Entry, markers);
161
+ }
162
+
163
+ /// <summary>
164
+ ///
165
+ /// </summary>
166
+ /// <param name="markerName"></param>
167
+ /// <returns></returns>
168
+ public virtual bool ContainsMarker(string markerName)
169
+ {
170
+ foreach (var marker in markers)
171
+ if (marker.name == markerName)
172
+ return true;
173
+
174
+ return false;
175
+ }
176
+
177
+ /// <summary>
178
+ ///
179
+ /// </summary>
180
+ public virtual void Load()
181
+ {
182
+ if (Entry.MarkerDatas.Count == 0)
183
+ return;
184
+
185
+ Entry.MarkerVessels.Clear();
186
+
187
+ foreach (var marker in Entry.MarkerDatas)
188
+ Entry.MarkerVessels.Add(database.GetVesselByData(marker));
189
+ }
190
+
191
+ /// <summary>
192
+ ///
193
+ /// </summary>
194
+ /// <param name="markerVessel"></param>
195
+ public virtual void CreateMarker(MarkerVessel markerVessel)
196
+ {
197
+ if (markerVessel != null && markerVessel.sprite != null)
198
+ {
199
+ GameObject go = new();
200
+
201
+ Image image = go.AddComponent<Image>();
202
+
203
+ image.sprite = markerVessel.sprite;
204
+
205
+ if (markerVessel.markerData.sizeDelta == Vector2.zero)
206
+ image.SetNativeSize();
207
+ else
208
+ image.rectTransform.sizeDelta = markerVessel.markerData.sizeDelta;
209
+
210
+ go.transform.SetParent(gameObject.transform);
211
+
212
+ go.transform.localPosition = markerVessel.markerData.localPosition;
213
+
214
+ go.name = markerVessel.markerData.name;
215
+
216
+ markers.Add(image);
217
+ }
218
+ }
219
+
220
+ /// <summary>
221
+ ///
222
+ /// </summary>
223
+ /// <param name="sprite"></param>
224
+ public virtual void DestroyMarker(Sprite sprite)
225
+ {
226
+ if (GetMarkerImage(sprite) is Image image && image != null)
227
+ {
228
+ MarkerVessel marker = GetMarkerData(image.sprite);
229
+
230
+ Entry.MarkerVessels.Remove(marker);
231
+
232
+ markers.Remove(image);
233
+
234
+ Destroy(image.gameObject);
235
+ }
236
+ }
237
+
238
+ /// <summary>
239
+ ///
240
+ /// </summary>
241
+ /// <param name="sprite"></param>
242
+ /// <returns></returns>
243
+ protected virtual Image GetMarkerImage(Sprite sprite)
244
+ {
245
+ foreach (var image in markers)
246
+ if (image.sprite == sprite)
247
+ return image;
248
+
249
+ return null;
250
+ }
251
+
252
+ /// <summary>
253
+ ///
254
+ /// </summary>
255
+ /// <param name="sprite"></param>
256
+ /// <returns></returns>
257
+ protected virtual MarkerVessel GetMarkerData(Sprite sprite)
258
+ {
259
+ var markerVessels = Entry.MarkerVessels.Where(marker => marker.sprite == sprite).ToList();
260
+
261
+ if (markerVessels.Count > 0)
262
+ return markerVessels[0];
263
+ else
264
+ return null;
265
+ }
266
+
267
+ /// <summary>
268
+ ///
269
+ /// </summary>
270
+ /// <param name="unlocks"></param>
271
+ /// <returns></returns>
272
+ public virtual bool IsUnlocked(List<string> unlocks) => !HasRoomImage() || HasRoomImage() && unlocks.Contains(Data.GetID());
273
+
274
+
275
+ /// <summary>
276
+ ///
277
+ /// </summary>
278
+ public virtual void Select()
279
+ {
280
+ foreach (var place in placeMarkers)
281
+ place.Select();
282
+ }
283
+
284
+ /// <summary>
285
+ ///
286
+ /// </summary>
287
+ public virtual void Deselect()
288
+ {
289
+ foreach (var place in placeMarkers)
290
+ place.Deselect();
291
+ }
292
+ }
293
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 59946d010f88a17488526187a4483092
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,203 @@
1
+ //Author: Benjamin "Sweden" Jillson : Discord: sweden_gaming For Project Eden's Garden
2
+ using DREditor.Services;
3
+ using System.Collections.Generic;
4
+ using TMPro;
5
+ using UnityEngine;
6
+ using UnityEngine.EventSystems;
7
+ using UnityEngine.UI;
8
+
9
+ namespace DREditor.Maps
10
+ {
11
+ /// <summary>
12
+ ///
13
+ /// </summary>
14
+ [ClassHeader(nameof(MapUITab) + ", " + nameof(IPlaceOptionHolder) +
15
+ "\n\n")]
16
+ public class PlaceMapUITab : MapUITab, IPlaceOptionHolder
17
+ {
18
+ /// <summary>
19
+ ///
20
+ /// </summary>
21
+ [Header("")]
22
+ [Divider]
23
+ [Tooltip("")]
24
+ [SerializeField] protected MapAreaManager currentAreaManager = null;
25
+
26
+
27
+ /// <summary>
28
+ ///
29
+ /// </summary>
30
+ [Header("")]
31
+ [Divider]
32
+ [Tooltip("")]
33
+ [SerializeField] protected GameObject placeTabHighlight = null;
34
+
35
+ /// <summary>
36
+ ///
37
+ /// </summary>
38
+ [Tooltip("")]
39
+ [SerializeField] protected CanvasGroup placeGroup = null;
40
+
41
+ /// <summary>
42
+ ///
43
+ /// </summary>
44
+ [Tooltip("")]
45
+ [SerializeField] protected List<TextMeshProUGUI> placeOptions = new();
46
+
47
+
48
+ /// <summary>
49
+ ///
50
+ /// </summary>
51
+ [Header("")]
52
+ [Divider]
53
+ [Tooltip("")]
54
+ [SerializeField] protected int startingOptionIndex = 0;
55
+
56
+ /// <summary>
57
+ ///
58
+ /// </summary>
59
+ [Tooltip("")]
60
+ [SerializeField] protected int endingOptionDifference = 0;
61
+
62
+ /// <summary>
63
+ ///
64
+ /// </summary>
65
+ [Tooltip("")]
66
+ [SerializeField] protected string fastTravelUIPrefix = "[JMP] ";
67
+
68
+
69
+ /// <summary>
70
+ ///
71
+ /// </summary>
72
+ protected List<Selectable> selectOptions = new();
73
+
74
+
75
+ protected virtual void Start() => InitializeSelectables();
76
+
77
+ /// <summary>
78
+ ///
79
+ /// </summary>
80
+ protected virtual void InitializeSelectables()
81
+ {
82
+ foreach (TextMeshProUGUI op in placeOptions)
83
+ selectOptions.Add(op.GetComponent<Selectable>());
84
+ }
85
+
86
+
87
+ /// <inheritdoc/>
88
+ public override void InitializeTab()
89
+ => EventSystem.current.SetSelectedGameObject(placeOptions[startingOptionIndex].gameObject);
90
+
91
+ /// <inheritdoc/>
92
+ public override void HideTab()
93
+ {
94
+ placeGroup.alpha = 0;
95
+
96
+ placeTabHighlight.SetActive(false);
97
+ }
98
+
99
+ /// <inheritdoc/>
100
+ public override void ShowTab()
101
+ {
102
+ placeGroup.alpha = 1;
103
+
104
+ placeTabHighlight.SetActive(true);
105
+ }
106
+
107
+
108
+ /// <inheritdoc/>
109
+ public virtual void PopulatePlaceUIText(int shiftNum, List<string> placeNames)
110
+ {
111
+ ClearPlaceOptionText();
112
+
113
+ if (currentAreaManager == null)
114
+ currentAreaManager = transform.root.GetComponentInChildren<MapAreaManager>();
115
+
116
+ for (int i = 0; i < placeOptions.Count; i++)
117
+ placeOptions[i].text = GetDisplayText(i, shiftNum, placeNames);
118
+ }
119
+
120
+ /// <summary>
121
+ ///
122
+ /// </summary>
123
+ /// <param name="i"></param>
124
+ /// <param name="shiftNum"></param>
125
+ /// <param name="placeNames"></param>
126
+ /// <returns></returns>
127
+ protected virtual string GetDisplayText(int i, int shiftNum, List<string> placeNames)
128
+ {
129
+ int idx = i + shiftNum - startingOptionIndex;
130
+
131
+ if ((i < startingOptionIndex && shiftNum == 0) || (idx > placeNames.Count - 1))
132
+ return "";
133
+
134
+ if (currentAreaManager != null &&
135
+ currentAreaManager.GetPlaceFromName(placeNames[idx]) is PlaceManager m &&
136
+ m.Data.fastTravelable)
137
+ return fastTravelUIPrefix + placeNames[idx];
138
+
139
+ return placeNames[idx];
140
+ }
141
+
142
+ /// <summary>
143
+ ///
144
+ /// </summary>
145
+ protected virtual void ClearPlaceOptionText()
146
+ {
147
+ for (int i = 0; i < placeOptions.Count; i++)
148
+ placeOptions[i].text = "";
149
+ }
150
+
151
+ /// <inheritdoc/>
152
+ public virtual PlaceManager GetCurrentlyHoveredPlace()
153
+ {
154
+ if (currentAreaManager == null)
155
+ currentAreaManager = ServiceLocator.GetService<MapAreaManager>();
156
+
157
+ GameObject selectedObject = EventSystem.current.currentSelectedGameObject;
158
+
159
+ TextMeshProUGUI currentText = selectedObject != null ? selectedObject.GetComponent<TextMeshProUGUI>() : null;
160
+
161
+ if (currentText == null && placeOptions.Count > startingOptionIndex)
162
+ currentText = placeOptions[startingOptionIndex];
163
+
164
+ if (currentText == null || currentAreaManager == null || !placeOptions.Contains(currentText))
165
+ {
166
+ UnityEngine.Debug.LogWarning("WARNING!: Either the hovered place on the UI is not a valid place in the games data," +
167
+ " or the specified place couldn't be found, or the current area manager was null.");
168
+
169
+ return null;
170
+ }
171
+
172
+ string placeName = currentText.text.Replace(fastTravelUIPrefix, "");
173
+
174
+ return currentAreaManager.GetPlaceFromName(placeName);
175
+ }
176
+
177
+ /// <inheritdoc/>
178
+ public virtual int GetMaxShiftIndex()
179
+ => currentAreaManager.Data.places.Count - placeOptions.Count + startingOptionIndex + endingOptionDifference;
180
+
181
+ /// <inheritdoc/>
182
+ public virtual GameObject GetTopOption() => placeOptions[startingOptionIndex].gameObject;
183
+
184
+ /// <inheritdoc/>
185
+ public virtual GameObject GetBottomOption() => placeOptions[^(1 + endingOptionDifference)].gameObject;
186
+
187
+ /// <inheritdoc/>
188
+ public virtual void EnableSelectablesOnValidText()
189
+ {
190
+ DisableSelectableOptions();
191
+
192
+ for (int i = startingOptionIndex; i < placeOptions.Count - endingOptionDifference; i++)
193
+ placeOptions[i].GetComponent<Selectable>().enabled = placeOptions[i].text != "";
194
+ }
195
+
196
+ /// <inheritdoc/>
197
+ public virtual void DisableSelectableOptions()
198
+ {
199
+ for (int i = 0; i < selectOptions.Count; i++)
200
+ selectOptions[i].enabled = false;
201
+ }
202
+ }
203
+ }
@@ -0,0 +1,11 @@
1
+ fileFormatVersion: 2
2
+ guid: 77a827f994f329446951857b474228d2
3
+ MonoImporter:
4
+ externalObjects: {}
5
+ serializedVersion: 2
6
+ defaultReferences: []
7
+ executionOrder: 0
8
+ icon: {instanceID: 0}
9
+ userData:
10
+ assetBundleName:
11
+ assetBundleVariant:
@@ -0,0 +1,52 @@
1
+ %YAML 1.1
2
+ %TAG !u! tag:unity3d.com,2011:
3
+ --- !u!1 &3576321263687586828
4
+ GameObject:
5
+ m_ObjectHideFlags: 0
6
+ m_CorrespondingSourceObject: {fileID: 0}
7
+ m_PrefabInstance: {fileID: 0}
8
+ m_PrefabAsset: {fileID: 0}
9
+ serializedVersion: 6
10
+ m_Component:
11
+ - component: {fileID: 8547063170348920303}
12
+ - component: {fileID: 8164007085443656993}
13
+ m_Layer: 5
14
+ m_Name: Clear_Map_Area_Data_Event
15
+ m_TagString: Untagged
16
+ m_Icon: {fileID: 0}
17
+ m_NavMeshLayer: 0
18
+ m_StaticEditorFlags: 0
19
+ m_IsActive: 1
20
+ --- !u!224 &8547063170348920303
21
+ RectTransform:
22
+ m_ObjectHideFlags: 0
23
+ m_CorrespondingSourceObject: {fileID: 0}
24
+ m_PrefabInstance: {fileID: 0}
25
+ m_PrefabAsset: {fileID: 0}
26
+ m_GameObject: {fileID: 3576321263687586828}
27
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
28
+ m_LocalPosition: {x: 0, y: 0, z: 0}
29
+ m_LocalScale: {x: 1, y: 1, z: 1}
30
+ m_ConstrainProportionsScale: 0
31
+ m_Children: []
32
+ m_Father: {fileID: 0}
33
+ m_RootOrder: 0
34
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
35
+ m_AnchorMin: {x: 0.5, y: 0.5}
36
+ m_AnchorMax: {x: 0.5, y: 0.5}
37
+ m_AnchoredPosition: {x: 0, y: 0}
38
+ m_SizeDelta: {x: 100, y: 100}
39
+ m_Pivot: {x: 0.5, y: 0.5}
40
+ --- !u!114 &8164007085443656993
41
+ MonoBehaviour:
42
+ m_ObjectHideFlags: 0
43
+ m_CorrespondingSourceObject: {fileID: 0}
44
+ m_PrefabInstance: {fileID: 0}
45
+ m_PrefabAsset: {fileID: 0}
46
+ m_GameObject: {fileID: 3576321263687586828}
47
+ m_Enabled: 1
48
+ m_EditorHideFlags: 0
49
+ m_Script: {fileID: 11500000, guid: 78abb4481132c2a429bbb61e9598fb9a, type: 3}
50
+ m_Name:
51
+ m_EditorClassIdentifier:
52
+ dialogueEventString: ClearMapUI
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: 61cdc45b6653047429480390742222e8
3
+ PrefabImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant:
@@ -0,0 +1,56 @@
1
+ %YAML 1.1
2
+ %TAG !u! tag:unity3d.com,2011:
3
+ --- !u!1 &5318444442824177081
4
+ GameObject:
5
+ m_ObjectHideFlags: 0
6
+ m_CorrespondingSourceObject: {fileID: 0}
7
+ m_PrefabInstance: {fileID: 0}
8
+ m_PrefabAsset: {fileID: 0}
9
+ serializedVersion: 6
10
+ m_Component:
11
+ - component: {fileID: 446853719882513642}
12
+ - component: {fileID: 436994695083961242}
13
+ m_Layer: 5
14
+ m_Name: Clear_Map_Instance_Data
15
+ m_TagString: Untagged
16
+ m_Icon: {fileID: 0}
17
+ m_NavMeshLayer: 0
18
+ m_StaticEditorFlags: 0
19
+ m_IsActive: 1
20
+ --- !u!224 &446853719882513642
21
+ RectTransform:
22
+ m_ObjectHideFlags: 0
23
+ m_CorrespondingSourceObject: {fileID: 0}
24
+ m_PrefabInstance: {fileID: 0}
25
+ m_PrefabAsset: {fileID: 0}
26
+ m_GameObject: {fileID: 5318444442824177081}
27
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
28
+ m_LocalPosition: {x: 0, y: 0, z: 0}
29
+ m_LocalScale: {x: 1, y: 1, z: 1}
30
+ m_ConstrainProportionsScale: 0
31
+ m_Children: []
32
+ m_Father: {fileID: 0}
33
+ m_RootOrder: 0
34
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
35
+ m_AnchorMin: {x: 0.5, y: 0.5}
36
+ m_AnchorMax: {x: 0.5, y: 0.5}
37
+ m_AnchoredPosition: {x: 0, y: 0}
38
+ m_SizeDelta: {x: 100, y: 100}
39
+ m_Pivot: {x: 0.5, y: 0.5}
40
+ --- !u!114 &436994695083961242
41
+ MonoBehaviour:
42
+ m_ObjectHideFlags: 0
43
+ m_CorrespondingSourceObject: {fileID: 0}
44
+ m_PrefabInstance: {fileID: 0}
45
+ m_PrefabAsset: {fileID: 0}
46
+ m_GameObject: {fileID: 5318444442824177081}
47
+ m_Enabled: 1
48
+ m_EditorHideFlags: 0
49
+ m_Script: {fileID: 11500000, guid: 9a215410e3ae95f419a4fcfe6a6beea6, type: 3}
50
+ m_Name:
51
+ m_EditorClassIdentifier:
52
+ Event: {fileID: 11400000, guid: aedb15ce0bc81f64aba03a47893580a9, type: 2}
53
+ Response:
54
+ m_PersistentCalls:
55
+ m_Calls: []
56
+ Condition: {fileID: 0}
@@ -0,0 +1,7 @@
1
+ fileFormatVersion: 2
2
+ guid: eb5ab4c7d9d2a5b4782be0bfe1c91736
3
+ PrefabImporter:
4
+ externalObjects: {}
5
+ userData:
6
+ assetBundleName:
7
+ assetBundleVariant: