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;
}
}
}