using cfg.VihecleCultivateCfg; using Framework; using Gameplay; using Gameplay.Level; using Gameplay.Vehicle.Data; public static class VehicleDataHelper { public const int NotAdapt = 0; public const int Adapt = 1; public const int VeryAdapt = 2; public static int GetVehicleSkillId(int vehicleId) { VehicleCultivateData vehicleInfo = VehicleCultivateDataManager.Instance.GetVehicleCultivateData((uint)vehicleId); int skillLv = (int)vehicleInfo.SumBonus(BonusType.SkillLv); var skillLevelInfo = TableManager.Instance.Tables.VehicleSkllUpgrade.Get(vehicleInfo.Cfg.ID); if (skillLevelInfo == null || skillLevelInfo.SkillIdList.Count == 0) { DebugUtil.LogError("载具id为{0}技能等级为{1}的表没配", vehicleInfo.Cfg.ID, skillLv); return -1; } var levelIndex = skillLv; if (levelIndex >= skillLevelInfo.SkillIdList.Count) { DebugUtil.LogError($"数据需求等级{skillLv}超过配置等级{skillLevelInfo.SkillIdList.Count},此处返回最大等级"); return skillLevelInfo.SkillIdList[^1];//-1; } return skillLevelInfo.SkillIdList[levelIndex]; } 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; } public static string GetTerrainAdaptStr(int terrainAdaptVal) { switch (terrainAdaptVal) { case NotAdapt: return CommonUtils. GetLocalizeText("vehicleCultivate_NotAdapt"); case Adapt: return CommonUtils.GetLocalizeText("vehicleCultivate_Adapt"); case VeryAdapt: return CommonUtils.GetLocalizeText("vehicleCultivate_TeHua"); } DebugUtil.LogError("载具的地形适应配置错了:载具upbonus表"); return "拉取中"; } /// /// 获取载具头像路径 /// /// /// public static string GetVehiclePicPath(int iD) { var vehicleCfg = TableManager.Instance.Tables.VehicleConfig.GetOrDefault(iD); if (vehicleCfg == null) { DebugUtil.LogError("载具配置表中没有id为{0}的配置", iD); return null; } return CommonUtils.GetDefaultVehicleHeadPath((uint)iD); } /// /// 获取载具高清图片路径 /// /// /// public static string GetVehicleIconPath(int id) { var vehicleCfg = TableManager.Instance.Tables.VehicleConfig.GetOrDefault(id); if (vehicleCfg == null) { DebugUtil.LogError("载具配置表中没有id为{0}的配置", id); return null; } return vehicleCfg.Icon; } public static VehicleConfigData CombineConfigData(VehicleCultivateData infoData) { var rawConfig = infoData; // 临时写死 var level = 1; // 因为里面有-1 var skillLevel = infoData.SkillLevel() + 1; var configData = new VehicleConfigData(); configData.Init(rawConfig, level, skillLevel); return configData; } public static VehicleConfigData CombineMonsterConfigData(LevelData.NPCInfo npcInfo) { var monsterConfig = TableManager.Instance.Tables.Monster.GetOrDefault(npcInfo.id); var configData = new VehicleConfigData(); configData.Init(monsterConfig); return configData; } }