mirror of
https://github.com/yairm210/Unciv.git
synced 2025-01-07 14:02:48 +07:00
invokeUnitAction will take the first *actionable* action, instead of the first one that exists, which may not be actionable
This commit is contained in:
parent
40283078d4
commit
2ffec93ae8
@ -23,9 +23,10 @@ object UnitActions {
|
||||
|
||||
/** Returns whether the action was invoked */
|
||||
fun invokeUnitAction(unit: MapUnit, unitActionType: UnitActionType): Boolean {
|
||||
val unitAction = actionTypeToFunctions[unitActionType]?.invoke(unit, unit.getTile())?.firstOrNull()
|
||||
?: getNormalActions(unit).firstOrNull { it.type == unitActionType }
|
||||
?: getAdditionalActions(unit).firstOrNull { it.type == unitActionType }
|
||||
val unitAction = if (unitActionType in actionTypeToFunctions) actionTypeToFunctions[unitActionType]!!.invoke(unit, unit.getTile())
|
||||
.firstOrNull{ it.action != null }
|
||||
else getNormalActions(unit).firstOrNull { it.type == unitActionType && it.action != null }
|
||||
?: getAdditionalActions(unit).firstOrNull { it.type == unitActionType && it.action != null }
|
||||
val internalAction = unitAction?.action ?: return false
|
||||
internalAction.invoke()
|
||||
return true
|
||||
|
@ -1158,14 +1158,14 @@ Simple unique parameters are explained by mouseover. Complex parameters are expl
|
||||
|
||||
Uniques that can be added to units, unit types, or promotions
|
||||
|
||||
??? example "May create improvements on water resources"
|
||||
Applicable to: Unit
|
||||
|
||||
??? example "Can build [improvementFilter/terrainFilter] improvements on tiles"
|
||||
Example: "Can build [All Road] improvements on tiles"
|
||||
|
||||
Applicable to: Unit
|
||||
|
||||
??? example "May create improvements on water resources"
|
||||
Applicable to: Unit
|
||||
|
||||
??? example "Can be added to [comment] in the Capital"
|
||||
Example: "Can be added to [comment] in the Capital"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user