X-Git-Url: http://nitlanguage.org diff --git a/lib/bucketed_game.nit b/lib/bucketed_game.nit index a621c54..4060dc4 100644 --- a/lib/bucketed_game.nit +++ b/lib/bucketed_game.nit @@ -20,22 +20,20 @@ # # Allows for fast support of a large number of entities with rare actions, # such as a forest with many individual trees. -module bucketed_game +module bucketed_game is serialize import serialization # Something acting on the game -class Turnable[G: Game] - auto_serializable +abstract class Turnable[G: Game] # Execute `turn` for this instance. fun do_turn(turn: GameTurn[G]) is abstract end # Something acting on the game from time to time -class Bucketable[G: Game] +abstract class Bucketable[G: Game] super Turnable[G] - auto_serializable private var act_at: nullable Int = null @@ -49,7 +47,6 @@ end # Optimized organization of `Bucketable` instances class Buckets[G: Game] super Turnable[G] - auto_serializable # Bucket type used in this implementation. type BUCKET: HashSet[Bucketable[G]] @@ -118,12 +115,10 @@ end # Event raised at the first turn class FirstTurnEvent super GameEvent - auto_serializable end # Game logic on the client class ThinGame - auto_serializable # Game tick when `self` should act. # @@ -133,7 +128,6 @@ end # Game turn on the client class ThinGameTurn[G: ThinGame] - auto_serializable # Game tick when `self` should act. var tick: Int is protected writable @@ -145,7 +139,6 @@ end # Game turn on the full logic class GameTurn[G: Game] super ThinGameTurn[G] - auto_serializable # Game that `self` belongs to. var game: G @@ -173,7 +166,6 @@ end # Full game logic class Game super ThinGame - auto_serializable # Game type used in this implementation. type G: Game