mission_ember.lua 1010 B

123456789101112131415161718192021222324252627
  1. -- Development controller for the opening landing. The remaining mission is not wired yet.
  2. local missions = require("missions")
  3. local mission = require(assert(missions.MISSION_EMBER, "mission_ember SDK module is absent"))
  4. local landing = require("mission_ember.landing")(mission)
  5. return {
  6. initial_state = landing.initial_state,
  7. on_start = function(context, state)
  8. landing.initialize(context)
  9. end,
  10. on_event_client_state_changed = function(context, state, event)
  11. local region = event.current_region_index
  12. if region == nil then
  13. context:clear_variable("ember.region")
  14. return
  15. end
  16. context:set_variable("ember.region", region)
  17. if region == landing.region then
  18. landing.enter(context, state)
  19. end
  20. end,
  21. on_event_squad_state = function(context, state, event)
  22. if state:variable("ember.region") == landing.region then
  23. landing.on_squad_state(context, state, event)
  24. end
  25. end,
  26. }