Add some params
- start jump charge - building limit - movement params
This commit is contained in:
@@ -15,5 +15,6 @@ data class JumpDto(
|
||||
val jumpTimeMax: Double?,
|
||||
val jumpTimeMin: Double?,
|
||||
val jumpMinHeight: Double?,
|
||||
val chargeStartingFraction: Double?,
|
||||
val requirements: RequirementDto?,
|
||||
)
|
||||
|
||||
@@ -39,6 +39,9 @@ data class UnitFullDto(
|
||||
val mass: Int?,
|
||||
val upTime: Double?,
|
||||
val moveSpeed: Int?,
|
||||
val accelerationTime: Double?,
|
||||
val decelerationTime: Double?,
|
||||
val rotationRate: Double?,
|
||||
val sightRadius: Int?,
|
||||
val detectRadius: Int?,
|
||||
val reinforceCostRequisition: Double?,
|
||||
|
||||
@@ -41,4 +41,5 @@ data class BuildingFullDto(
|
||||
val requirements: RequirementDto?,
|
||||
val affectedResearches: Set<ResearchShortDto>,
|
||||
val hotkey: String?,
|
||||
var buildingLimit: Int?,
|
||||
)
|
||||
|
||||
@@ -212,6 +212,7 @@ class Building {
|
||||
requirement,
|
||||
affectedResearches.map { it.toResearchShortDto() }.toSet(),
|
||||
uiHotkeyName,
|
||||
buildingLimit,
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -69,6 +69,9 @@ class DowUnit {
|
||||
var mass: Int? = null
|
||||
var upTime: Double? = null
|
||||
var moveSpeed: Int? = null
|
||||
var accelerationTime: Double? = null
|
||||
var decelerationTime: Double? = null
|
||||
var rotationRate: Double? = null
|
||||
var sightRadius: Int? = null
|
||||
var detectRadius: Int? = null
|
||||
var reinforceCostRequisition: Double? = null
|
||||
@@ -214,6 +217,9 @@ class DowUnit {
|
||||
mass,
|
||||
upTime,
|
||||
moveSpeed,
|
||||
accelerationTime,
|
||||
decelerationTime,
|
||||
rotationRate,
|
||||
sightRadius,
|
||||
detectRadius,
|
||||
reinforceCostRequisition,
|
||||
|
||||
@@ -30,6 +30,7 @@ class Jump {
|
||||
var jumpTimeMax: Double? = null
|
||||
var jumpTimeMin: Double? = null
|
||||
var jumpMinHeight: Double? = null
|
||||
var chargeStartingFraction: Double? = null
|
||||
|
||||
@OneToMany(mappedBy = "jump", cascade = [CascadeType.ALL])
|
||||
var jumpRequirements: MutableSet<JumpRequirements> = mutableSetOf()
|
||||
|
||||
@@ -54,6 +54,7 @@ class DowUnitMappingService @Autowired constructor(
|
||||
jump.jumpTimeMax,
|
||||
jump.jumpTimeMin,
|
||||
jump.jumpMinHeight,
|
||||
jump.chargeStartingFraction,
|
||||
requirementsMappingComponent.getRequirements(jump.jumpRequirements.toList(), unit.modId!!)
|
||||
)
|
||||
}
|
||||
|
||||
+1
-1
@@ -111,7 +111,7 @@ class WeaponResearchEffectMappingComponent(
|
||||
* e.g. modifiers/max_damage_weapon_modifier.lua -> max_damage_weapon_modifier
|
||||
*/
|
||||
private fun extractRefName(reference: String): String =
|
||||
reference.split("\\").first()
|
||||
reference.split("\\").last()
|
||||
.replace(".lua", "")
|
||||
.replace(".rgd", "")
|
||||
}
|
||||
@@ -65,6 +65,12 @@ class UnitRgdExtractService @Autowired constructor(
|
||||
val upTime: Double?,
|
||||
)
|
||||
|
||||
data class MovementParams(
|
||||
val accelerationTime: Double?,
|
||||
val decelerationTime: Double?,
|
||||
val rotationRate: Double?,
|
||||
)
|
||||
|
||||
|
||||
fun extractToUnitEntity(
|
||||
fileNameSquad: String,
|
||||
@@ -141,6 +147,10 @@ class UnitRgdExtractService @Autowired constructor(
|
||||
unit.unitMoraleBrakeModifiers = moraleData.unitMoraleBrakeModifiers.toMutableSet()
|
||||
|
||||
unit.moveSpeed = getUnitSpeed(unitData)?.toInt()
|
||||
val movementParams = getMovementParams(unitData)
|
||||
unit.accelerationTime = movementParams.accelerationTime
|
||||
unit.decelerationTime = movementParams.decelerationTime
|
||||
unit.rotationRate = movementParams.rotationRate
|
||||
unit.sightRadius = getSightRadius(unitData)?.toInt()
|
||||
unit.detectRadius = getDetectRadius(unitData)?.toInt()
|
||||
|
||||
@@ -318,6 +328,19 @@ class UnitRgdExtractService @Autowired constructor(
|
||||
.getRgdTableByName("moving_ext")
|
||||
?.getDoubleByName("speed_max")
|
||||
|
||||
private fun getMovementParams(unitData: List<RgdData>): MovementParams {
|
||||
val movingExt = unitData.getRgdTableByName("moving_ext")
|
||||
val turningBehaviorTemplate = movingExt?.getStringByName("turning_behavior_template")
|
||||
if (turningBehaviorTemplate == null || turningBehaviorTemplate == "default" || turningBehaviorTemplate == "infantry") {
|
||||
return MovementParams(null, null, null)
|
||||
}
|
||||
return MovementParams(
|
||||
movingExt.getDoubleByName("acceleration_time"),
|
||||
movingExt.getDoubleByName("deceleration_time"),
|
||||
movingExt.getDoubleByName("rotation_rate"),
|
||||
)
|
||||
}
|
||||
|
||||
private fun getSightRadius(unitData: List<RgdData>): Double? = unitData
|
||||
.getRgdTableByName("sight_ext")
|
||||
?.getDoubleByName("sight_radius")
|
||||
@@ -470,6 +493,7 @@ class UnitRgdExtractService @Autowired constructor(
|
||||
jump.jumpTimeMax = squadJumpExt.getDoubleByName("jump_time_max")
|
||||
jump.jumpTimeMin = squadJumpExt.getDoubleByName("jump_time_min")
|
||||
jump.jumpMinHeight = squadJumpExt.getDoubleByName("jump_min_height")
|
||||
jump.chargeStartingFraction = squadJumpExt.getDoubleByName("charge_starting_fraction")
|
||||
|
||||
// Parse jump requirements
|
||||
val requirements = squadJumpExt.getRgdTableByName("requirements")
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"databaseChangeLog": [
|
||||
{
|
||||
"changeSet": {
|
||||
"id": "Add charge_starting_fraction to jumps table",
|
||||
"author": "anibus",
|
||||
"changes": [
|
||||
{
|
||||
"addColumn": {
|
||||
"columns": [
|
||||
{
|
||||
"column": {
|
||||
"name": "charge_starting_fraction",
|
||||
"type": "float"
|
||||
}
|
||||
}
|
||||
],
|
||||
"tableName": "jumps"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"databaseChangeLog": [
|
||||
{
|
||||
"changeSet": {
|
||||
"id": "Add movement params to units table",
|
||||
"author": "anibus",
|
||||
"changes": [
|
||||
{
|
||||
"addColumn": {
|
||||
"columns": [
|
||||
{
|
||||
"column": {
|
||||
"name": "acceleration_time",
|
||||
"type": "number"
|
||||
}
|
||||
},
|
||||
{
|
||||
"column": {
|
||||
"name": "deceleration_time",
|
||||
"type": "number"
|
||||
}
|
||||
},
|
||||
{
|
||||
"column": {
|
||||
"name": "rotation_rate",
|
||||
"type": "number"
|
||||
}
|
||||
}
|
||||
],
|
||||
"tableName": "units"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -481,6 +481,16 @@
|
||||
"include": {
|
||||
"file": "db/0.0.6/schema/add_index_to_researches.json"
|
||||
}
|
||||
},
|
||||
{
|
||||
"include": {
|
||||
"file": "db/0.0.6/schema/add_charge_starting_fraction_to_jumps.json"
|
||||
}
|
||||
},
|
||||
{
|
||||
"include": {
|
||||
"file": "db/0.0.6/schema/add_movement_params_to_units.json"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user