using Gameplay.Buff; namespace Gameplay.Vehicle.Data { public class VehicleRuntimeData { public BaseVehicle owner; public VehicleConfigData configData; public int maxSitCount; public void Init() { // 优先初始化父类数据 owner.aliveData.maxHp = configData.hp; owner.aliveData.maxShield = configData.shield; owner.aliveData.Init(true); owner.fightData.InitAttack(configData.attack, configData.attackPowerLevel); owner.fightData.moveSpeed = configData.moveSpeed; owner.fightData.noFightMoveSpeed = configData.noFightMoveSpeed; owner.fightData.baseMoveSpeed = configData.moveSpeed; owner.fightData.turnSpeed = configData.turnSpeed; owner.fightData.normalAttackDistance = configData.attackDistance; owner.fightData.baseAttackDistance = configData.attackDistance; owner.fightData.p_shootCdScale = 0f; owner.fightData.InitShootCd(configData.shootCd); owner.fightData.baseDistanceHitRate.Clear(); owner.fightData.baseDistanceHitRate.AddRange(configData.attackDistanceScale); owner.fightData.distanceHitRate.Clear(); owner.fightData.distanceHitRate.AddRange(configData.attackDistanceScale); owner.fightData.maxBulletCount = configData.maxBulletCount; owner.fightData.baseMaxBulletCount = configData.maxBulletCount; owner.fightData.criticalRate = configData.criticalRate; owner.fightData.criticalScale = configData.criticalDamageScale; owner.fightData.moraleAttack = configData.moraleAttack; owner.fightData.reloadTime = configData.reloadTime; owner.fightData.baseReloadTime = configData.reloadTime; owner.fightData.defensePowerLevel = configData.defensePowerLevel; owner.fightData.attackPowerLevel = configData.attackPowerLevel; owner.commonData.crossLevel = configData.crossLevel; owner.commonData.standLevel = configData.standLevel; maxSitCount = configData.sitCount; owner.fightData.attackScaleForShiled = configData.attackShiledScale; owner.fightData.attackScaleForHp = configData.attackHpScale; owner.fightData.scaleForHuman = configData.scaleForCharacter; owner.fightData.scaleForVehicle = configData.scaleForVehicle; owner.fightData.scaleForBuilding = configData.scaleForBuilding; owner.fightData.isAttackIgnoreBlock = configData.isAttackIgnoreBlock; owner.fightData.baseAttackEndTime = configData.attackEndTime; owner.fightData.attackEndTime = configData.attackEndTime; owner.fightData.attackLoopCount = configData.attackLoopCount; } } }