diff --git a/UnityClient/Assets/AddressableAssetsData/link.xml b/UnityClient/Assets/AddressableAssetsData/link.xml new file mode 100644 index 00000000..40be33c5 --- /dev/null +++ b/UnityClient/Assets/AddressableAssetsData/link.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/UnityClient/Assets/AddressableAssetsData/link.xml.meta b/UnityClient/Assets/AddressableAssetsData/link.xml.meta new file mode 100644 index 00000000..23e22c75 --- /dev/null +++ b/UnityClient/Assets/AddressableAssetsData/link.xml.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: bacb74c0898254a40a6d95ed03ea22d6 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityClient/Assets/Scripts/DB/DBManager.cs b/UnityClient/Assets/Scripts/DB/DBManager.cs index fbed04ee..660b1881 100644 --- a/UnityClient/Assets/Scripts/DB/DBManager.cs +++ b/UnityClient/Assets/Scripts/DB/DBManager.cs @@ -18,6 +18,7 @@ public class DBManager { public async static Task Init() { new LuaInterface(); + Tables.Init(); var WeaponActionsText = await Addressables.LoadAssetAsync("WeaponActions").Task; var WeaponJobTableText = await Addressables.LoadAssetAsync("WeaponJobTable").Task; diff --git a/UnityClient/Assets/Scripts/GameManager.cs b/UnityClient/Assets/Scripts/GameManager.cs index 514ff41a..3bf6bfe7 100644 --- a/UnityClient/Assets/Scripts/GameManager.cs +++ b/UnityClient/Assets/Scripts/GameManager.cs @@ -125,7 +125,7 @@ public async Task BeginMapLoading(string mapName) { AsyncMapLoader.GameMap gameMap = await new AsyncMapLoader().Load($"{mapName}.rsw"); GameMap map = await MapRenderer.OnMapComplete(gameMap); #else - var mapPrefab = await Addressables.LoadAssetAsync($"data/maps/{mapName}.prefab").Task; + var mapPrefab = await Addressables.LoadAssetAsync($"data/maps/{Path.GetFileNameWithoutExtension(mapName)}.prefab").Task; var map = Instantiate(mapPrefab).GetComponent(); #endif SceneManager.UnloadSceneAsync("LoadingScene"); diff --git a/UnityClient/Assets/Scripts/Renderer/Entities/EntityManager.cs b/UnityClient/Assets/Scripts/Renderer/Entities/EntityManager.cs index 072b571f..172081de 100644 --- a/UnityClient/Assets/Scripts/Renderer/Entities/EntityManager.cs +++ b/UnityClient/Assets/Scripts/Renderer/Entities/EntityManager.cs @@ -1,6 +1,4 @@ using Assets.Scripts.Renderer.Sprite; -using ROIO; -using ROIO.Models.FileTypes; using System.Collections.Generic; using System.IO; using System.Linq; diff --git a/UnityClient/Assets/UnityRO.io/FileManager.cs b/UnityClient/Assets/UnityRO.io/FileManager.cs index 0a308ca3..b7c94aaf 100644 --- a/UnityClient/Assets/UnityRO.io/FileManager.cs +++ b/UnityClient/Assets/UnityRO.io/FileManager.cs @@ -43,8 +43,6 @@ public static void LoadGRF(string rootPath, List grfs) { var grf = Grf.grf_callback_open(rootPath + path, "r", null); GrfList.Add(grf); } - - Tables.Init(); } public static void InitBatch() { diff --git a/UnityClient/Assets/UnityRO.io/Loaders/TableLoader.cs b/UnityClient/Assets/UnityRO.io/Loaders/TableLoader.cs index 0e980927..4a8846cc 100644 --- a/UnityClient/Assets/UnityRO.io/Loaders/TableLoader.cs +++ b/UnityClient/Assets/UnityRO.io/Loaders/TableLoader.cs @@ -1,27 +1,20 @@ using System.Collections.Generic; using System.Text.RegularExpressions; -namespace ROIO.Loaders -{ - public class TableLoader - { +namespace ROIO.Loaders { + public class TableLoader { private static readonly Regex RegexComments = new Regex(@"\n(\/\/[^\n]+)", RegexOptions.Multiline); - public static IEnumerable LoadTable(string filename, int size) - { - string data = FileManager.Load(filename) as string; + public static IEnumerable LoadTable(string data, int size) { //remove comments string content = RegexComments.Replace("\n" + data, ""); string[] elements = content.Split('#'); string[] args = new string[size + 1]; - for (int i = 0; i < elements.Length; i++) - { - if (i % size == 0) - { - if (i != 0) - { + for (int i = 0; i < elements.Length; i++) { + if (i % size == 0) { + if (i != 0) { yield return args; } args[i % size] = i.ToString(); diff --git a/UnityClient/Assets/UnityRO.io/Tables.cs b/UnityClient/Assets/UnityRO.io/Tables.cs index 7f0526a1..64659cfd 100644 --- a/UnityClient/Assets/UnityRO.io/Tables.cs +++ b/UnityClient/Assets/UnityRO.io/Tables.cs @@ -3,17 +3,17 @@ using System; using System.Collections; using System.Collections.Generic; +using UnityEngine; +using UnityEngine.AddressableAssets; -namespace ROIO -{ - public static class Tables - { +namespace ROIO { + public static class Tables { public static Dictionary MapTable = new Dictionary(); public static Hashtable ResNameTable = new Hashtable(); public static Hashtable MsgStringTable = new Hashtable(); - public static void Init() - { + + public static void Init() { InitMsgStringTable(); InitMp3NameTable(); InitMapTable(); @@ -25,21 +25,18 @@ public static void Init() //LoadTable("data/fogparametertable.txt", 5); } - private static void InitResNameTable() - { - foreach (object[] args in TableLoader.LoadTable("data/resnametable.txt", 2)) - { + private async static void InitResNameTable() { + var data = await Addressables.LoadAssetAsync($"txt/data/resnametable.txt.txt").Task; + foreach (object[] args in TableLoader.LoadTable(data.text, 2)) { ResNameTable[args[1]] = args[2]; } } - private static void InitMapTable() - { - foreach (object[] args in TableLoader.LoadTable("data/mapnametable.txt", 2)) - { + private async static void InitMapTable() { + var data = await Addressables.LoadAssetAsync($"txt/data/mapnametable.txt.txt").Task; + foreach (object[] args in TableLoader.LoadTable(data.text, 2)) { var key = Convert.ToString(args[1]); - if (!MapTable.ContainsKey(key)) - { + if (!MapTable.ContainsKey(key)) { MapTable.Add(key, new MapTableStruct()); } @@ -49,13 +46,11 @@ private static void InitMapTable() } } - private static void InitMp3NameTable() - { - foreach (object[] args in TableLoader.LoadTable("data/mp3nametable.txt", 2)) - { + private async static void InitMp3NameTable() { + var data = await Addressables.LoadAssetAsync($"txt/data/mp3nametable.txt.txt").Task; + foreach (object[] args in TableLoader.LoadTable(data.text, 2)) { var key = Convert.ToString(args[1]); - if (!MapTable.ContainsKey(key)) - { + if (!MapTable.ContainsKey(key)) { MapTable.Add(key, new MapTableStruct()); } @@ -65,10 +60,9 @@ private static void InitMp3NameTable() } } - private static void InitMsgStringTable() - { - foreach (object[] args in TableLoader.LoadTable("data/msgstringtable.txt", 1)) - { + private async static void InitMsgStringTable() { + var data = await Addressables.LoadAssetAsync($"txt/data/msgstringtable.txt.txt").Task; + foreach (object[] args in TableLoader.LoadTable(data.text, 1)) { MsgStringTable[args[0]] = args[1]; } } diff --git a/UnityClient/ProjectSettings/ProjectSettings.asset b/UnityClient/ProjectSettings/ProjectSettings.asset index 95490a95..a7c82e6c 100644 --- a/UnityClient/ProjectSettings/ProjectSettings.asset +++ b/UnityClient/ProjectSettings/ProjectSettings.asset @@ -51,7 +51,7 @@ PlayerSettings: m_MTRendering: 1 mipStripping: 0 numberOfMipsStripped: 0 - m_StackTraceTypes: 010000000000000000000000000000000100000001000000 + m_StackTraceTypes: 010000000100000001000000010000000100000001000000 iosShowActivityIndicatorOnLoading: -1 androidShowActivityIndicatorOnLoading: -1 iosUseCustomAppBackgroundBehavior: 0