You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For #84. I originally mentioned in #92 (comment), but I thought this was worthy of its own issue, so I moved it here.
NumberPlayGameModel currently creates instances of CountingGameLevel and SubitizeGameLevel, based on the value of ?gameLevels. Since I see that NumberPlayGameModel has a tandem parameter, Games levels will presumably be PhET-iO instrumented in the future. And conditionally creating them will then be a big problem - omitting a level will break the PhET-iO API, and potentially the client's wrapper code.
To resolve this, NumberPlayGameModel must ALWAYS create all 4 levels. Then the view should expose only those levels that are specified by gameLevels, by hiding level-selection buttons that are no included in gameLevels. See equality-explore.LevelSelectionNode and fourier-making-waves.WaveGameLevelSelectionNode for examples.
This change is necessary regardless of how you choose to address the gameLevels query parameter in #92.
The text was updated successfully, but these errors were encountered:
@chrisklus and I worked on this together. We are creating all the levels and the buttons now but are only including the specified buttons in the selection. We might adjust how this is done depending on the results of the discussion from #92.
To "PhET-iO proof" the sim, all of the buttons should be added to scenegraph, then set visible: false for the ones that are not in gameLevels. This will allow the PhET-iO client to get at them if needed.
Your layout for the level-selection buttons will be something like:
For #84. I originally mentioned in #92 (comment), but I thought this was worthy of its own issue, so I moved it here.
NumberPlayGameModel currently creates instances of CountingGameLevel and SubitizeGameLevel, based on the value of
?gameLevels
. Since I see that NumberPlayGameModel has atandem
parameter, Games levels will presumably be PhET-iO instrumented in the future. And conditionally creating them will then be a big problem - omitting a level will break the PhET-iO API, and potentially the client's wrapper code.To resolve this, NumberPlayGameModel must ALWAYS create all 4 levels. Then the view should expose only those levels that are specified by
gameLevels
, by hiding level-selection buttons that are no included ingameLevels
. Seeequality-explore.LevelSelectionNode
andfourier-making-waves.WaveGameLevelSelectionNode
for examples.This change is necessary regardless of how you choose to address the
gameLevels
query parameter in #92.The text was updated successfully, but these errors were encountered: