Skip to content

Commit 84dc855

Browse files
committed
Fix #28 3 worker只减不增问题
原因是 countEnergyChangeRatio 一个 tick 多次调用,totalEnergy总被置NAN 导致 expect一直不正常。 但为什么多次调用会为nan仍未明确,希望大佬 @LokiSharp 能看出原因 解决方法是如果当前tick调用过就直接返回结果,我觉得就算没这个问题也应该如此做减少计算量
1 parent 802d5d6 commit 84dc855

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

src/modules/energyController/countEnergyChangeRatio.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
import { getRoomStats, setRoomStats } from "@/modules/stats";
12
import { ENERGY_USE_LIMIT } from "./findStrategy";
2-
import { setRoomStats } from "@/modules/stats";
33

44
/**
55
* 统计指定房间的能量状态(包括可用能量总量、能量获取速率)
@@ -9,6 +9,10 @@ import { setRoomStats } from "@/modules/stats";
99
* @returns 该房间的能量获取速率,单位(点/tick)
1010
*/
1111
export const countEnergyChangeRatio = function (room: Room, withLimit = false): number {
12+
if (getRoomStats(room.name).energyCalcTime === Game.time) {
13+
return getRoomStats(room.name).energyGetRate;
14+
}
15+
1216
// 收集房间建筑内的可用总能量
1317
const structureEnergy = [room.terminal, room.storage, ...room[STRUCTURE_CONTAINER], ...room[STRUCTURE_LINK]]
1418
.filter(Boolean)

0 commit comments

Comments
 (0)