diff --git a/src/logic/campaignLogic.ts b/src/logic/campaignLogic.ts index 6aaac96..c2694aa 100644 --- a/src/logic/campaignLogic.ts +++ b/src/logic/campaignLogic.ts @@ -13,7 +13,6 @@ import { type QuestNotification, type CampaignQuestConfig, type NPC, - type Resources, RelationStatus, type BuildingType, type TechnologyType, @@ -357,7 +356,7 @@ export const claimQuestRewards = ( const currentPlanet = player.planets[0] // 默认发放到第一个星球 if (rewards.resources && currentPlanet) { - resourceLogic.addResources(currentPlanet.resources, rewards.resources as Resources) + resourceLogic.addResources(currentPlanet.resources, rewards.resources) } if (rewards.darkMatter && currentPlanet) { diff --git a/src/logic/resourceLogic.ts b/src/logic/resourceLogic.ts index 22b8b33..749a9be 100644 --- a/src/logic/resourceLogic.ts +++ b/src/logic/resourceLogic.ts @@ -256,21 +256,21 @@ export const checkResourcesAvailable = (currentResources: Resources, cost: Resou /** * 扣除资源 */ -export const deductResources = (currentResources: Resources, cost: Resources): void => { - currentResources.metal -= cost.metal - currentResources.crystal -= cost.crystal - currentResources.deuterium -= cost.deuterium - currentResources.darkMatter -= cost.darkMatter +export const deductResources = (currentResources: Resources, cost: Partial): void => { + currentResources.metal -= cost.metal || 0 + currentResources.crystal -= cost.crystal || 0 + currentResources.deuterium -= cost.deuterium || 0 + currentResources.darkMatter -= cost.darkMatter || 0 } /** * 添加资源 */ -export const addResources = (currentResources: Resources, amount: Resources): void => { - currentResources.metal += amount.metal - currentResources.crystal += amount.crystal - currentResources.deuterium += amount.deuterium - currentResources.darkMatter += amount.darkMatter +export const addResources = (currentResources: Resources, amount: Partial): void => { + currentResources.metal += amount.metal || 0 + currentResources.crystal += amount.crystal || 0 + currentResources.deuterium += amount.deuterium || 0 + currentResources.darkMatter += amount.darkMatter || 0 } /**