Source: sim/modes/SimMode.js

  1. /** @module */
  2. import SimModeSample from './SimModeSample.js'
  3. import SimModeOne from './SimModeOne.js'
  4. /**
  5. * Simulation is the main task we're trying to accomplish in this program.
  6. * There are multiple states that the sim can be in.
  7. * Each state simulates something different.
  8. * @param {Screen} screen
  9. * @param {Menu} menu
  10. * @param {Changes} changes
  11. * @param {Commander} commander
  12. */
  13. export default function SimMode(pub, entities, districts, changes, simOptions, electionOptionsMan) {
  14. const self = this
  15. self.modes = {
  16. one: new SimModeOne(pub, entities, changes, districts, simOptions, electionOptionsMan),
  17. sample: new SimModeSample(pub, entities, changes, districts, simOptions, electionOptionsMan),
  18. }
  19. self.update = () => {
  20. self.modes[simOptions.mode].update()
  21. }
  22. }