.children.single { it.fleetPresenceRender == fleetPtr }
selectedFleetIndicators[fleetPtr] = CSS3DSprite(document.create.img(src = "/static/game/images/crosshair.svg")).apply {
- scale.setScalar(0.004)
+ scale.setScalar(0.00875)
element.style.asDynamic().pointerEvents = "none"
style = "text-align:center"
+(system.holder?.loyalties?.first()?.getDefiniteShortName()?.let { "Controlled by $it" } ?: "Wilderness")
br
+ system.holder?.let { +"(${it.displayName})" }
+ br
system.holder?.let {
- img(alt = it.displayName, src = it.flagUrl) {
- style = "width:4em;height:2.5em"
- }
+ img(alt = it.displayName, src = it.flagUrl) { style = "width:4em;height:2.5em" }
}
}
+fleet.name
}
}
- p {
- style = "text-align:center"
- +"${fleet.ships.size} ships"
- }
p {
style = "text-align:center"
+"Operated by ${fleet.owner.loyalties.first().getDefiniteShortName()}"
br
+ +"(${fleet.owner.displayName})"
+ br
img(alt = fleet.owner.displayName, src = fleet.owner.flagUrl) {
style = "width:4em;height:2.5em"
}
}
+ p {
+ style = "text-align:center"
+ +"${fleet.ships.size} ships"
+ }
selectedFleetIndicators[selection.pointer]?.visible = true
visibleSelectedFleetIndicators += selection.pointer
}
return angles.map { theta ->
- val position = Vector3(cosFactor * cos(theta) * worldRadius, 9.6, sin(theta) * worldRadius).add(worldCenter)
+ val position = Vector3(cosFactor * cos(theta) * worldRadius, 14.4, sin(theta) * worldRadius).add(worldCenter)
val rotation = atan2(-cos(theta) * cosFactor, -sin(theta))
async { loadModel(shipType.meshName) }
}.mapValues { (_, meshAsync) ->
val mesh = meshAsync.await()
- mesh.scale.setScalar(0.25)
+ mesh.scale.setScalar(0.4)
RenderFactory { mesh.clone(true) }
}
val ownedSystems = (systems.toList().shuffled() zip ownerFlavors).associate { (systemWithId, flavor) ->
val (systemId, system) = systemWithId
- val numOfFleets = (1..3).random()
+ val numOfFleets = (0..1).random() + (0..1).random() + 1
val fleets = (1..numOfFleets).associate { i ->
Id<FleetPresence>("${systemId.id}-fleet-$i") to FleetPresence(
"Test Fleet $i",