mirror of
https://github.com/setube/ogame-vue-ts.git
synced 2026-07-10 16:12:37 +08:00
fix: 补全舰队预设中缺失的4种舰船类型
selectedFleet 和 jumpGateFleet 共用 createEmptyFleet 工厂函数初始化, 遍历 Object.values(ShipType) 确保覆盖全部 15 种舰船类型,修复此前遗漏的 Battlecruiser、Bomber、Destroyer 和 SolarSatellite。 loadPreset 也改为遍历 Object.values(ShipType),确保所有预设值都能正确恢复。
This commit is contained in:
@@ -652,6 +652,15 @@
|
|||||||
const { SHIPS } = useGameConfig()
|
const { SHIPS } = useGameConfig()
|
||||||
const planet = computed(() => gameStore.currentPlanet)
|
const planet = computed(() => gameStore.currentPlanet)
|
||||||
|
|
||||||
|
// 创建默认空舰队映射
|
||||||
|
const createEmptyFleet = (): Partial<Fleet> => {
|
||||||
|
const fleet: Partial<Fleet> = {}
|
||||||
|
for (const type of Object.values(ShipType)) {
|
||||||
|
fleet[type] = 0
|
||||||
|
}
|
||||||
|
return fleet
|
||||||
|
}
|
||||||
|
|
||||||
// AlertDialog 状态
|
// AlertDialog 状态
|
||||||
const alertDialogOpen = ref(false)
|
const alertDialogOpen = ref(false)
|
||||||
const alertDialogTitle = ref('')
|
const alertDialogTitle = ref('')
|
||||||
@@ -690,19 +699,7 @@
|
|||||||
|
|
||||||
// 跳跃门相关
|
// 跳跃门相关
|
||||||
const selectedJumpGateTarget = ref<typeof planet.value | null>(null)
|
const selectedJumpGateTarget = ref<typeof planet.value | null>(null)
|
||||||
const jumpGateFleet = ref<Partial<Fleet>>({
|
const jumpGateFleet = ref<Partial<Fleet>>(createEmptyFleet())
|
||||||
[ShipType.LightFighter]: 0,
|
|
||||||
[ShipType.HeavyFighter]: 0,
|
|
||||||
[ShipType.Cruiser]: 0,
|
|
||||||
[ShipType.Battleship]: 0,
|
|
||||||
[ShipType.SmallCargo]: 0,
|
|
||||||
[ShipType.LargeCargo]: 0,
|
|
||||||
[ShipType.ColonyShip]: 0,
|
|
||||||
[ShipType.Recycler]: 0,
|
|
||||||
[ShipType.EspionageProbe]: 0,
|
|
||||||
[ShipType.DarkMatterHarvester]: 0,
|
|
||||||
[ShipType.Deathstar]: 0
|
|
||||||
})
|
|
||||||
|
|
||||||
// 是否显示跳跃门标签页(当前在月球上且有跳跃门)
|
// 是否显示跳跃门标签页(当前在月球上且有跳跃门)
|
||||||
const showJumpGateTab = computed(() => {
|
const showJumpGateTab = computed(() => {
|
||||||
@@ -800,19 +797,7 @@
|
|||||||
})
|
})
|
||||||
|
|
||||||
// 选择的舰队
|
// 选择的舰队
|
||||||
const selectedFleet = ref<Partial<Fleet>>({
|
const selectedFleet = ref<Partial<Fleet>>(createEmptyFleet())
|
||||||
[ShipType.LightFighter]: 0,
|
|
||||||
[ShipType.HeavyFighter]: 0,
|
|
||||||
[ShipType.Cruiser]: 0,
|
|
||||||
[ShipType.Battleship]: 0,
|
|
||||||
[ShipType.SmallCargo]: 0,
|
|
||||||
[ShipType.LargeCargo]: 0,
|
|
||||||
[ShipType.ColonyShip]: 0,
|
|
||||||
[ShipType.Recycler]: 0,
|
|
||||||
[ShipType.EspionageProbe]: 0,
|
|
||||||
[ShipType.DarkMatterHarvester]: 0,
|
|
||||||
[ShipType.Deathstar]: 0
|
|
||||||
})
|
|
||||||
|
|
||||||
// 目标坐标
|
// 目标坐标
|
||||||
const targetPosition = ref({ galaxy: 1, system: 1, position: 1 })
|
const targetPosition = ref({ galaxy: 1, system: 1, position: 1 })
|
||||||
@@ -1008,8 +993,8 @@
|
|||||||
// 加载预设
|
// 加载预设
|
||||||
const loadPreset = (preset: FleetPreset) => {
|
const loadPreset = (preset: FleetPreset) => {
|
||||||
// 加载舰队配置
|
// 加载舰队配置
|
||||||
Object.keys(selectedFleet.value).forEach(key => {
|
Object.values(ShipType).forEach(key => {
|
||||||
selectedFleet.value[key as ShipType] = preset.fleet[key as ShipType] || 0
|
selectedFleet.value[key] = preset.fleet[key] || 0
|
||||||
})
|
})
|
||||||
|
|
||||||
// 不再加载坐标,保留用户当前输入的坐标
|
// 不再加载坐标,保留用户当前输入的坐标
|
||||||
|
|||||||
Reference in New Issue
Block a user