using Framework; using UnityEngine; namespace Gameplay.Utils { public static class PathEx { /// /// 用于获取载具的原始模型路径,用于导出,该路径并不会被addressable打包 /// /// /// public static string GetVehicleSrcModelPath(string prefabName) { return $"Assets/Art/Character/Prefabs/Vehicle/{prefabName}.prefab"; } /// /// 获取载具游戏中使用的模型路径,用于addressable打包 /// /// /// public static string GetVehicleGameModelPath(int configId) { var savePath = string.Format(Constants.VEHICLE_OUTPUT_PATH, configId); var prefabPath = $"{savePath}/vehicle_{configId}.prefab"; return prefabPath; } /// /// 获取角色构建使用的原始路径,用于导出,该路径并不会被addressable打包 /// /// /// public static string GetCharacterSrcModelPath(string nameId) { return $"Assets/Art/Character/Prefabs/Players/P_{nameId}.prefab"; } /// /// 获取敌人构建使用的原始路径,用于导出,该路径并不会被addressable打包 /// /// /// public static string GetEnemySrcModelPath(string nameId) { return $"Assets/Art/Character/Prefabs/Enemy/P_{nameId}.prefab"; } /// /// 获取NPC构建使用的原始路径,用于导出,该路径并不会被addressable打包 /// /// /// public static string GetNPCSrcModelPath(string nameId) { return $"Assets/Art/Character/Prefabs/Npc/P_{nameId}.prefab"; } /// /// 获取角色游戏中用于展示及剧情的模型路径,用于addressable打包 /// /// /// public static string GetCharacterDisplayModelPath(string nameId) { return $"Assets/Art/Character/Prefabs/Players_S/P_S_{nameId}.prefab"; } /// /// 获取角色游戏中用于战斗的模型路径,用于addressable打包 /// /// 角色prefabNameId /// 武器id /// public static string GetCharacterFightModelPath(string nameId, int weaponId) { return $"Assets/Art_Out/AutoGen/Characters/character_{nameId}_{weaponId}/character_{nameId}.prefab"; } /// /// 获取召唤物游戏中用于战斗的模型路径,用于addressable打包 /// /// /// public static string GetSummonGameModelPath(string prefabName) { return $"Assets/Art_Out/Manual/Summon/{prefabName}.prefab"; } /// /// 获取NPC游戏中用于展示及剧情的模型路径,用于addressable打包 /// /// /// public static string GetNpcDisplayModelPath(string prefabName) { return $"Assets/Art/Character/Prefabs/Npc_S/P_S_{prefabName}.prefab"; } public static string GetBatteryModelPath(string batteryName) { // Assets/Art_Out/AutoGen/Battery/P_R00001_01/P_R00001_01.prefab return $"Assets/Art_Out/AutoGen/Battery/{batteryName}/{batteryName}.prefab"; } public static string GetWeatherUIPath(string pngName) { // Assets/Art_Out/Manual/Weather/UIImg/ScreenEffect_Snow.png return $"Assets/Art_Out/Manual/Weather/UIImg/{pngName}.png"; } public static string GetWeatherCameraEffectPath(string prefabName) { // Assets/Art_Out/Manual/Weather/Camera/Fog.prefab return $"Assets/Art_Out/Manual/Weather/Camera/{prefabName}.prefab"; } public static string GetProtectUnitModelPath(string modelName) { // Assets/Art_Out/Manual/Protect/P_V_50001.prefab return $"Assets/Art_Out/Manual/Protect/{modelName}.prefab"; } /// /// 获取战斗剧情配置文件路径 /// /// /// public static string GetFightStoryJsonPath(string sceneName) { return $"Assets/Config/FightStory/{sceneName}.json"; } public static string GetRealPath(string assetPath) { if (assetPath.StartsWith("Assets/")) { // 替换为Application.dataPath return $"{Application.dataPath}/{assetPath.Substring(7)}"; } // 不是Assets/开头的路径,直接返回 return assetPath; } public static string GetFightBuildingModelPath(uint uid) { var cfg = TableManager.Instance.Tables.BuildConfig.Get((int)uid); if (cfg == null) { return ""; } return cfg.ModelPath; } } }