2024-06-20 13:30:39 +08:00
|
|
|
|
using cfg.VihecleCultivateCfg;
|
2023-11-28 15:35:13 +08:00
|
|
|
|
using Framework;
|
2023-12-05 12:49:29 +08:00
|
|
|
|
using Gameplay;
|
2024-09-04 19:50:52 +08:00
|
|
|
|
using Gameplay.Level;
|
2023-12-14 14:42:27 +08:00
|
|
|
|
using Gameplay.Vehicle.Data;
|
2023-11-17 15:52:44 +08:00
|
|
|
|
|
|
|
|
|
|
public static class VehicleDataHelper
|
|
|
|
|
|
{
|
2023-12-01 13:35:33 +08:00
|
|
|
|
public const int NotAdapt = 0;
|
|
|
|
|
|
public const int Adapt = 1;
|
|
|
|
|
|
public const int VeryAdapt = 2;
|
2024-06-20 13:30:39 +08:00
|
|
|
|
|
2023-11-17 15:59:39 +08:00
|
|
|
|
public static int GetVehicleSkillId(int vehicleId)
|
2023-11-17 15:52:44 +08:00
|
|
|
|
{
|
2023-11-17 15:59:39 +08:00
|
|
|
|
VehicleCultivateData vehicleInfo = VehicleCultivateDataManager.Instance.GetVehicleCultivateData((uint)vehicleId);
|
2024-06-20 13:30:39 +08:00
|
|
|
|
int skillLv = (int)vehicleInfo.SumBonus(BonusType.SkillLv);
|
2024-05-27 19:58:23 +08:00
|
|
|
|
var skillLevelInfo = TableManager.Instance.Tables.VehicleSkllUpgrade.Get(vehicleInfo.Cfg.ID);
|
|
|
|
|
|
if (skillLevelInfo == null || skillLevelInfo.SkillIdList.Count == 0)
|
2023-11-17 15:52:44 +08:00
|
|
|
|
{
|
2024-05-27 19:58:23 +08:00
|
|
|
|
DebugUtil.LogError("载具id为{0}技能等级为{1}的表没配", vehicleInfo.Cfg.ID, skillLv);
|
|
|
|
|
|
return -1;
|
|
|
|
|
|
}
|
|
|
|
|
|
var levelIndex = skillLv;
|
|
|
|
|
|
if (levelIndex >= skillLevelInfo.SkillIdList.Count)
|
|
|
|
|
|
{
|
2024-08-05 19:51:12 +08:00
|
|
|
|
DebugUtil.LogError($"数据需求等级{skillLv}超过配置等级{skillLevelInfo.SkillIdList.Count},此处返回最大等级");
|
|
|
|
|
|
return skillLevelInfo.SkillIdList[^1];//-1;
|
2023-11-17 15:52:44 +08:00
|
|
|
|
}
|
2024-05-27 19:58:23 +08:00
|
|
|
|
return skillLevelInfo.SkillIdList[levelIndex];
|
2023-11-17 15:52:44 +08:00
|
|
|
|
}
|
2024-06-20 13:30:39 +08:00
|
|
|
|
|
2023-11-28 15:35:13 +08:00
|
|
|
|
public static BonusType GetBonusTypeByTerrainID(int terrainId)
|
|
|
|
|
|
{
|
|
|
|
|
|
switch (terrainId)
|
|
|
|
|
|
{
|
|
|
|
|
|
case 1:
|
|
|
|
|
|
return BonusType.TerrainPlain;
|
|
|
|
|
|
case 2:
|
|
|
|
|
|
return BonusType.TerrainMountain;
|
|
|
|
|
|
case 4:
|
|
|
|
|
|
return BonusType.TerrainForest;
|
|
|
|
|
|
case 5:
|
|
|
|
|
|
return BonusType.TerrainSnow;
|
|
|
|
|
|
}
|
|
|
|
|
|
DebugUtil.LogError("因为VehicleBonusType暂时不需要其他地形类型,所以妹写");
|
|
|
|
|
|
return BonusType.TerrainPlain;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
2024-06-20 13:30:39 +08:00
|
|
|
|
|
2023-12-01 13:35:33 +08:00
|
|
|
|
public static string GetTerrainAdaptStr(int terrainAdaptVal)
|
|
|
|
|
|
{
|
|
|
|
|
|
switch (terrainAdaptVal)
|
|
|
|
|
|
{
|
|
|
|
|
|
case NotAdapt:
|
2023-12-05 12:49:29 +08:00
|
|
|
|
return CommonUtils. GetLocalizeText("vehicleCultivate_NotAdapt");
|
2023-12-01 13:35:33 +08:00
|
|
|
|
case Adapt:
|
2023-12-05 12:49:29 +08:00
|
|
|
|
return CommonUtils.GetLocalizeText("vehicleCultivate_Adapt");
|
2023-12-01 13:35:33 +08:00
|
|
|
|
case VeryAdapt:
|
2023-12-05 12:49:29 +08:00
|
|
|
|
return CommonUtils.GetLocalizeText("vehicleCultivate_TeHua");
|
2023-12-01 13:35:33 +08:00
|
|
|
|
}
|
|
|
|
|
|
DebugUtil.LogError("载具的地形适应配置错了:载具upbonus表");
|
|
|
|
|
|
return "拉取中";
|
|
|
|
|
|
}
|
2024-06-20 13:30:39 +08:00
|
|
|
|
|
2024-10-14 18:50:08 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 获取载具头像路径
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="iD"></param>
|
|
|
|
|
|
/// <returns></returns>
|
2023-12-01 13:35:33 +08:00
|
|
|
|
public static string GetVehiclePicPath(int iD)
|
|
|
|
|
|
{
|
2024-06-20 13:30:39 +08:00
|
|
|
|
var vehicleCfg = TableManager.Instance.Tables.VehicleConfig.GetOrDefault(iD);
|
|
|
|
|
|
if (vehicleCfg == null)
|
|
|
|
|
|
{
|
|
|
|
|
|
DebugUtil.LogError("载具配置表中没有id为{0}的配置", iD);
|
|
|
|
|
|
return null;
|
|
|
|
|
|
}
|
2024-06-20 15:56:42 +08:00
|
|
|
|
|
|
|
|
|
|
return CommonUtils.GetDefaultVehicleHeadPath((uint)iD);
|
2024-10-14 18:50:08 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 获取载具高清图片路径
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="id"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
public static string GetVehicleIconPath(int id)
|
|
|
|
|
|
{
|
|
|
|
|
|
var vehicleCfg = TableManager.Instance.Tables.VehicleConfig.GetOrDefault(id);
|
|
|
|
|
|
if (vehicleCfg == null)
|
|
|
|
|
|
{
|
|
|
|
|
|
DebugUtil.LogError("载具配置表中没有id为{0}的配置", id);
|
|
|
|
|
|
return null;
|
|
|
|
|
|
}
|
2024-06-20 15:56:42 +08:00
|
|
|
|
|
2024-06-20 13:30:39 +08:00
|
|
|
|
return vehicleCfg.Icon;
|
2023-12-01 13:35:33 +08:00
|
|
|
|
}
|
2023-12-14 14:42:27 +08:00
|
|
|
|
|
|
|
|
|
|
public static VehicleConfigData CombineConfigData(VehicleCultivateData infoData)
|
|
|
|
|
|
{
|
2024-01-31 13:20:19 +08:00
|
|
|
|
var rawConfig = infoData;
|
2023-12-14 14:42:27 +08:00
|
|
|
|
// 临时写死
|
|
|
|
|
|
var level = 1;
|
2024-05-27 19:58:23 +08:00
|
|
|
|
|
|
|
|
|
|
// 因为里面有-1
|
|
|
|
|
|
var skillLevel = infoData.SkillLevel() + 1;
|
2023-12-14 14:42:27 +08:00
|
|
|
|
var configData = new VehicleConfigData();
|
|
|
|
|
|
configData.Init(rawConfig, level, skillLevel);
|
|
|
|
|
|
return configData;
|
|
|
|
|
|
}
|
2023-12-01 13:35:33 +08:00
|
|
|
|
|
2024-11-18 15:14:06 +08:00
|
|
|
|
public static VehicleConfigData CombineMonsterConfigData(LevelData.NPCInfo npcInfo)
|
2024-09-04 19:50:52 +08:00
|
|
|
|
{
|
2024-09-05 13:26:43 +08:00
|
|
|
|
var monsterConfig = TableManager.Instance.Tables.Monster.GetOrDefault(npcInfo.id);
|
2024-09-04 19:50:52 +08:00
|
|
|
|
var configData = new VehicleConfigData();
|
2024-09-06 18:11:35 +08:00
|
|
|
|
configData.Init(monsterConfig);
|
2024-09-05 13:26:43 +08:00
|
|
|
|
return configData;
|
2024-09-04 19:50:52 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2023-11-17 15:52:44 +08:00
|
|
|
|
}
|
|
|
|
|
|
|