diff options
Diffstat (limited to 'WorldlineKeepers/Assets/Scripts/Data')
5 files changed, 107 insertions, 1 deletions
diff --git a/WorldlineKeepers/Assets/Scripts/Data/DataManager.cs b/WorldlineKeepers/Assets/Scripts/Data/DataManager.cs index 3bb9ef2..1c148ee 100644 --- a/WorldlineKeepers/Assets/Scripts/Data/DataManager.cs +++ b/WorldlineKeepers/Assets/Scripts/Data/DataManager.cs @@ -7,13 +7,18 @@ using UnityEngine; namespace WK.Data { - public class DataManager : Singleton<DataManager> + /// <summary> + /// 所有配置数据 + /// </summary> + public partial class DataManager : Singleton<DataManager> { private Dictionary<string/*uid*/, CharacterStatsMetadata> m_CharacterStatsMetadata = new Dictionary<string, CharacterStatsMetadata>(); private Dictionary<string/*uid*/, BuffMetadata> m_BuffMetadata = new Dictionary<string, BuffMetadata>(); private Dictionary<string/*uid*/, CharacterMetadata> m_CharacterMetadata = new Dictionary<string, CharacterMetadata>(); + private Dictionary<int, MetadataFile> m_Filelist = new Dictionary<int, MetadataFile>(); + public CharacterStatsMetadata GetCharacterStats(string uid) { CharacterStatsMetadata metadata; diff --git a/WorldlineKeepers/Assets/Scripts/Data/DataManager_Load.cs b/WorldlineKeepers/Assets/Scripts/Data/DataManager_Load.cs new file mode 100644 index 0000000..886446a --- /dev/null +++ b/WorldlineKeepers/Assets/Scripts/Data/DataManager_Load.cs @@ -0,0 +1,38 @@ +using LitJson; +using System; +using System.Collections; +using System.Collections.Generic; +using Unity.VisualScripting; +using UnityEngine; +using MovementEffects; + +namespace WK.Data +{ + public partial class DataManager : Singleton<DataManager> + { + + /// <summary> + /// 异步加载所有数据 + /// </summary> + /// <returns></returns> + public IEnumerator<float> AsyncLoadAllData() + { + Load_Filelist(); + yield return Timing.WaitForSeconds(StaticDefine.IntervalLoadFile); + } + + private void Load_Filelist() + { + TextAsset text = ResourceManager.Instance.LoadAsset<TextAsset>(StaticDefine.FileList); + string content = text.text; + List<MetadataFile> files = CSVReader.Read<MetadataFile>(content); + for (int i = 0; i < files.Count; ++i) + { + MetadataFile file = files[i]; + int key = (int)Enum.Parse(typeof(EFileKey), file.key); + m_Filelist.Add(key, file); + } + } + + } +}
\ No newline at end of file diff --git a/WorldlineKeepers/Assets/Scripts/Data/DataManager_Load.cs.meta b/WorldlineKeepers/Assets/Scripts/Data/DataManager_Load.cs.meta new file mode 100644 index 0000000..1b51533 --- /dev/null +++ b/WorldlineKeepers/Assets/Scripts/Data/DataManager_Load.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f346cc2edf9eab84f92fd6fb0a8969b3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/WorldlineKeepers/Assets/Scripts/Data/Filelist.cs b/WorldlineKeepers/Assets/Scripts/Data/Filelist.cs new file mode 100644 index 0000000..094c1ea --- /dev/null +++ b/WorldlineKeepers/Assets/Scripts/Data/Filelist.cs @@ -0,0 +1,41 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +namespace WK.Data +{ + + public enum FileType + { + CSV = 0, + Json = 1, + Txt = 2, + } + + public enum FileRoot + { + Bundle = 0, + Streaming = 1, + Persistent = 2, + } + + public enum EFileKey + { + default_stats = 1, + default_buffs = 2, + default_items = 3, + } + + /// <summary> + /// 文件列表 + /// </summary> + public class MetadataFile + { + + public string key; + public FileType type; + public FileRoot root; + public string path; + } + +} diff --git a/WorldlineKeepers/Assets/Scripts/Data/Filelist.cs.meta b/WorldlineKeepers/Assets/Scripts/Data/Filelist.cs.meta new file mode 100644 index 0000000..9bb6057 --- /dev/null +++ b/WorldlineKeepers/Assets/Scripts/Data/Filelist.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f427347e73ff3e94d8d6f091ddcd4179 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: |