-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathScriptableObjectInstances.cs
More file actions
109 lines (78 loc) · 5.1 KB
/
ScriptableObjectInstances.cs
File metadata and controls
109 lines (78 loc) · 5.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.AddressableAssets;
namespace Abyss;
public static class ScriptableObjectInstances
{
private static IReadOnlyList<WorldEventData>? _worldEventDatas;
/// <summary>
/// All vanilla world event datas.
/// </summary>
public static IReadOnlyCollection<WorldEventData> WorldEventDatas => _worldEventDatas ??= Addressables.LoadAssetsAsync<WorldEventData>(GameManager.Instance.DataLoader.worldEventDataAssetLabelReference, null).WaitForCompletion().ToList().AsReadOnly();
private static IReadOnlyList<WeatherData>? _weatherDatas;
/// <summary>
/// All vanilla weather datas.
/// </summary>
public static IReadOnlyCollection<WeatherData> WeatherDatas => _weatherDatas ??= Addressables.LoadAssetsAsync<WeatherData>(GameManager.Instance.DataLoader.weatherDataAssetLabelReference, null).WaitForCompletion().ToList().AsReadOnly();
private static IReadOnlyList<QuestData>? _questDatas;
/// <summary>
/// All vanilla quest datas.
/// </summary>
public static IReadOnlyCollection<QuestData> QuestDatas => _questDatas ??= Addressables.LoadAssetsAsync<QuestData>(GameManager.Instance.DataLoader.questDataAssetLabelReference, null).WaitForCompletion().ToList().AsReadOnly();
private static IReadOnlyList<GridConfiguration>? _gridConfigurations;
/// <summary>
/// All vanilla grid configurations.
/// </summary>
public static IReadOnlyCollection<GridConfiguration> GridConfigurations => _gridConfigurations ??= Addressables.LoadAssetsAsync<GridConfiguration>(GameManager.Instance.DataLoader.gridConfigDataAssetLabelReference, null).WaitForCompletion().ToList().AsReadOnly();
private static IReadOnlyList<MapMarkerData>? _mapMarkerDatas;
/// <summary>
/// All vanilla map marker datas.
/// </summary>
public static IReadOnlyCollection<MapMarkerData> MapMarkerDatas => _mapMarkerDatas ??= Addressables.LoadAssetsAsync<MapMarkerData>(GameManager.Instance.DataLoader.mapMarkerDataAssetLabelReference, null).WaitForCompletion().ToList().AsReadOnly();
private static IReadOnlyList<QuestGridConfig>? _questGridConfigs;
/// <summary>
/// All vanilla quest grid configs.
/// </summary>
public static IReadOnlyCollection<QuestGridConfig> QuestGridConfigs => _questGridConfigs ??= Addressables.LoadAssetsAsync<QuestGridConfig>(GameManager.Instance.DataLoader.questGridDataAssetLabelReference, null).WaitForCompletion().ToList().AsReadOnly();
private static IReadOnlyList<QuestStepData>? _questStepDatas;
/// <summary>
/// All vanilla quest step datas.
/// </summary>
public static IReadOnlyCollection<QuestStepData> QuestStepDatas => _questStepDatas ??= QuestDatas.SelectMany(questData => questData.steps).ToList().AsReadOnly();
private static IReadOnlyList<AchievementData>? _achievementDatas;
/// <summary>
/// All vanilla achievement datas.
/// </summary>
public static IReadOnlyCollection<AchievementData> AchievementDatas => _achievementDatas ??= Addressables.LoadAssetsAsync<AchievementData>(GameManager.Instance.AchievementManager.achievementDataAssetLabelReference, null).WaitForCompletion().ToList().AsReadOnly();
private static IReadOnlyList<UpgradeData>? _upgradeDatas;
/// <summary>
/// All vanilla upgrade datas.
/// </summary>
public static IReadOnlyCollection<UpgradeData> UpgradeDatas => _upgradeDatas ??= Addressables.LoadAssetsAsync<UpgradeData>(GameManager.Instance.UpgradeManager.upgradeDataAssetLabelReference, null).WaitForCompletion().ToList().AsReadOnly();
private static IReadOnlyList<ItemData>? _itemDatas;
/// <summary>
/// All vanilla item datas.
/// </summary>
public static IReadOnlyCollection<ItemData> ItemDatas => _itemDatas ??= Addressables.LoadAssetsAsync<ItemData>(GameManager.Instance.ItemManager.itemDataAssetLabelReference, null).WaitForCompletion().ToList().AsReadOnly();
private static IReadOnlyList<HarvestableItemData>? _harvestableItemDatas;
/// <summary>
/// All vanilla harvestable item datas.
/// </summary>
public static IReadOnlyCollection<HarvestableItemData> HarvestableItemDatas => _harvestableItemDatas ??= ItemDatas.OfType<HarvestableItemData>().ToList().AsReadOnly();
private static IReadOnlyList<FishItemData>? _fishItemDatas;
/// <summary>
/// All vanilla fish item datas.
/// </summary>
public static IReadOnlyCollection<FishItemData> FishItemDatas => _fishItemDatas ??= ItemDatas.OfType<FishItemData>().ToList().AsReadOnly();
private static IReadOnlyList<HullUpgradeData>? _hullUpgradeDatas;
/// <summary>
/// All vanilla hull upgrade datas.
/// </summary>
public static IReadOnlyCollection<HullUpgradeData> HullUpgradeDatas => _hullUpgradeDatas ??= UpgradeDatas.OfType<HullUpgradeData>().ToList().AsReadOnly();
private static IReadOnlyList<SlotUpgradeData>? _slotUpgradeDatas;
/// <summary>
/// All vanilla slot upgrade datas.
/// </summary>
public static IReadOnlyCollection<SlotUpgradeData> SlotUpgradeDatas => _slotUpgradeDatas ??= UpgradeDatas.OfType<SlotUpgradeData>().ToList().AsReadOnly();
}