Skip to content
This repository has been archived by the owner on Dec 6, 2022. It is now read-only.

Commit

Permalink
Move maxChallenges calculation into setMaxChallenges
Browse files Browse the repository at this point in the history
  • Loading branch information
Marco committed Aug 8, 2019
1 parent 2672248 commit 2d8a840
Showing 1 changed file with 14 additions and 12 deletions.
26 changes: 14 additions & 12 deletions game-client/src/actionCreators.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,10 @@ import * as gameStates from "./gameStates"
import * as types from "./actionTypes"

export function resumeGame(resumableGame) {
return async (dispatch, getState) => {
return async dispatch => {
dispatch(updateGameData(resumableGame))

const { content, playerType } = getState()
const maxChallenges = Object.keys(content[playerType]).length - 1
dispatch(setMaxChallenges(maxChallenges))
dispatch(setMaxChallenges())

dispatch(updateGameState(gameStates.AREA_CONFIRMATION))
}
Expand Down Expand Up @@ -64,12 +62,10 @@ export function addScore(increment) {
}

export function startNewGame(playerType) {
return async (dispatch, getState) => {
return async dispatch => {
dispatch(setPlayerType(playerType))

const { content } = getState()
const maxChallenges = Object.keys(content[playerType]).length - 1
dispatch(setMaxChallenges(maxChallenges))
dispatch(setMaxChallenges())

const data = { challengeNumber: 1, score: 0, finished: false, playerType }
dispatch(updateGameData(data))
Expand All @@ -85,10 +81,16 @@ export function setPlayerType(playerType) {
}
}

export function setMaxChallenges(maxChallenges) {
return {
type: types.SET_MAX_CHALLENGES,
maxChallenges
export function setMaxChallenges() {
return (dispatch, getState) => {
const { content, playerType } = getState()
const maxChallenges = Object.values(content[playerType])
.filter(value => value.template && value.template === "challenge")
.length
dispatch({
type: types.SET_MAX_CHALLENGES,
maxChallenges
})
}
}

Expand Down

0 comments on commit 2d8a840

Please sign in to comment.