NLDClient-yudde/ProjectNLD/Assets/Code/Scripts/Gameplay/Vehicle/Data/VehicleRuntimeData.cs

67 lines
2.9 KiB
C#

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