Files
Firefly_Sranalysis/src/hooks/useCalcAvatarData.ts
2025-04-23 20:24:12 +07:00

28 lines
823 B
TypeScript

import useBattleDataStore from "@/stores/battleDataStore";
import { useMemo } from "react";
export function useCalcTotalDmgAvatar(avatarId: number) {
const { turnHistory } = useBattleDataStore.getState();
return useMemo(() => {
return turnHistory
.filter(t => t.avatarId === avatarId)
.reduce((sum, turn) => sum + turn.totalDamage, 0);
}, [avatarId, turnHistory]);
}
export function useCalcTotalTurnAvatar(avatarId: number) {
const { turnHistory } = useBattleDataStore.getState();
return useMemo(() => {
const uniqueActionValues = new Set<number>();
turnHistory.forEach(turn => {
if (turn.avatarId === avatarId) {
uniqueActionValues.add(turn.actionValue);
}
});
return uniqueActionValues.size;
}, [avatarId, turnHistory]);
}