NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Utils/PathEx.cs

126 lines
4.5 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using Framework;
namespace Gameplay.Utils
{
public static class PathEx
{
/// <summary>
/// 用于获取载具的原始模型路径,用于导出,该路径并不会被addressable打包
/// </summary>
/// <param name="prefabName"></param>
/// <returns></returns>
public static string GetVehicleSrcModelPath(string prefabName)
{
return $"Assets/Art/Character/Prefabs/Vehicle/{prefabName}.prefab";
}
/// <summary>
/// 获取载具游戏中使用的模型路径用于addressable打包
/// </summary>
/// <param name="configId"></param>
/// <returns></returns>
public static string GetVehicleGameModelPath(int configId)
{
var savePath = string.Format(Constants.VEHICLE_OUTPUT_PATH, configId);
var prefabPath = $"{savePath}/vehicle_{configId}.prefab";
return prefabPath;
}
/// <summary>
/// 获取角色构建使用的原始路径,用于导出,该路径并不会被addressable打包
/// </summary>
/// <param name="nameId"></param>
/// <returns></returns>
public static string GetCharacterSrcModelPath(string nameId)
{
return $"Assets/Art/Character/Prefabs/Players/P_{nameId}.prefab";
}
/// <summary>
/// 获取敌人构建使用的原始路径,用于导出,该路径并不会被addressable打包
/// </summary>
/// <param name="nameId"></param>
/// <returns></returns>
public static string GetEnemySrcModelPath(string nameId)
{
return $"Assets/Art/Character/Prefabs/Enemy/P_{nameId}.prefab";
}
/// <summary>
/// 获取角色游戏中用于展示及剧情的模型路径用于addressable打包
/// </summary>
/// <param name="nameId"></param>
/// <returns></returns>
public static string GetCharacterDisplayModelPath(string nameId)
{
return $"Assets/Art/Character/Prefabs/Players_S/P_S_{nameId}.prefab";
}
/// <summary>
/// 获取角色游戏中用于战斗的模型路径用于addressable打包
/// </summary>
/// <param name="nameId">角色prefabNameId</param>
/// <param name="weaponId">武器id</param>
/// <returns></returns>
public static string GetCharacterFightModelPath(string nameId, int weaponId)
{
return $"Assets/Art_Out/AutoGen/Characters/character_{nameId}_{weaponId}/character_{nameId}.prefab";
}
/// <summary>
/// 获取召唤物游戏中用于战斗的模型路径用于addressable打包
/// </summary>
/// <param name="prefabName"></param>
/// <returns></returns>
public static string GetSummonGameModelPath(string prefabName)
{
return $"Assets/Art_Out/Manual/Summon/{prefabName}.prefab";
}
/// <summary>
/// 获取NPC游戏中用于展示及剧情的模型路径用于addressable打包
/// </summary>
/// <param name="prefabName"></param>
/// <returns></returns>
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/Manual/Battery/P_R00005_01.prefab
return $"Assets/Art_Out/Manual/Battery/{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 GetFightBuildingModelPath(uint uid)
{
var cfg = TableManager.Instance.Tables.BuildConfig.Get((int)uid);
if (cfg == null)
{
return "";
}
return cfg.ModelPath;
}
}
}