31 lines
1.3 KiB
TypeScript
Raw Permalink Normal View History

2024-12-19 16:47:41 +01:00
import { Accuracy } from "expo-location"
2024-12-11 17:26:36 +01:00
import { useAppDispatch, useAppSelector } from "./useStore"
2024-12-19 16:47:41 +01:00
import { GamePayload, PenaltyPayload, setLocationAccuracy, setPlayerId, updateActiveChallengeId, updateGameState, updateMoney, updatePenalty } from "@/utils/features/game/gameSlice"
2024-12-11 17:26:36 +01:00
export const useGame = () => useAppSelector((state) => state.game)
2024-12-19 16:47:41 +01:00
export const useSettings = () => useAppSelector((state) => state.game.settings)
2024-12-11 17:26:36 +01:00
export const useSetPlayerId = () => {
const dispath = useAppDispatch()
return (playerId: number) => dispath(setPlayerId(playerId))
}
export const useUpdateMoney = () => {
const dispatch = useAppDispatch()
return (money: number) => dispatch(updateMoney(money))
}
export const useUpdateActiveChallengeId = () => {
const dispatch = useAppDispatch()
return (challengeActionId: number) => dispatch(updateActiveChallengeId(challengeActionId))
}
export const useUpdateGameState = () => {
const dispatch = useAppDispatch()
return (game: GamePayload) => dispatch(updateGameState(game))
}
2024-12-13 00:02:58 +01:00
export const useUpdatePenalty = () => {
const dispatch = useAppDispatch()
return (penalty: PenaltyPayload) => dispatch(updatePenalty(penalty))
}
2024-12-19 16:47:41 +01:00
export const useSetLocationAccuracy = () => {
const dispatch = useAppDispatch()
return (accuracy: Accuracy | null) => dispatch(setLocationAccuracy(accuracy))
}