Skip to content
Snippets Groups Projects
  1. Mar 28, 2023
  2. Mar 27, 2023
  3. Mar 23, 2023
  4. Mar 22, 2023
    • Tomm0017's avatar
      Stop iteration if `validated` returns `NULL` · 9bee7e43
      Tomm0017 authored
      9bee7e43
    • Tomm0017's avatar
      Simplify `StepFactory::unvalidated` logic · 403afc51
      Tomm0017 authored
      403afc51
    • Tomm0017's avatar
      Remove unnecessary `out` keyword · 34e42734
      Tomm0017 authored
      34e42734
    • Tomm's avatar
      Feature/eventbus (#17) · 8256e392
      Tomm authored
      Reworks the old event bus system. Goal was to allow parameter-bound events, i.e. `Event<Player>`, which would permit for event actions to have player (or any other specified type) as a context-receiver. This was important as players will now store a collection of pending events through their lifecycle. These events were isolated in a way where "player-bound" events no longer require a player field and instead the "invoke" portion of the event-bus requires the player as input. If we did _not_ take this approach, players would end up with a list of events that contain a reference to themselves, such as the following:
      
      // event needs access to player for the "action" lambda set through plugins
      class LogInEvent(val player: Player) : Event
      
      class Player {
          // ...
          public val events = mutableListOf<Event>()
      }
      
      fun onLogIn(player: Player) {
          // player now stores an event that has a ref to their own object - bad!
          player.events += LogInEvent(player) 
      }
      8256e392
    • Tomm0017's avatar
      Change `Coordinates::NULL` arg value · b1e7fda8
      Tomm0017 authored
      b1e7fda8
    • Tomm0017's avatar
      Clarify doc · 964f8dd2
      Tomm0017 authored
      964f8dd2
    • Tomm0017's avatar
      Add `onButton` ScriptPlugin extension · e96329ae
      Tomm0017 authored
      e96329ae
  5. Mar 21, 2023
  6. Mar 20, 2023