association_pouvoirs.gd 479 B

123456789101112131415161718192021222324
  1. class_name Pouvoir
  2. enum Type {
  3. AUCUN, # si pas de pouvoir, laisser en premier
  4. FEU,
  5. VIE,
  6. BONJOUR # laisser en dernier
  7. }
  8. static func depuis_enum(type: Type): # -> PouvoirBase
  9. match type:
  10. Type.BONJOUR:
  11. return BonjourPouvoir.new()
  12. Type.FEU:
  13. return PouvoirFeu.new()
  14. Type.VIE:
  15. return VieBonus.new()
  16. Type.AUCUN:
  17. return null
  18. _:
  19. assert(false, "Le nouveau pouvoir doit etre associe a son type " + str(type))
  20. return null # sinon compilateur pas content