class_name Pouvoir


enum Type {
	AUCUN, # si pas de pouvoir, laisser en premier
	FEU,
	BONJOUR # laisser en dernier
}


static func depuis_enum(type: Type): # -> PouvoirBase
	match type:
		Type.BONJOUR:
			return BonjourPouvoir.new()
		Type.FEU:
			return PouvoirFeu.new()
		Type.AUCUN:
			return null
		_:
			assert(false, "Le nouveau pouvoir doit etre associe a son type " + str(type))
			return null # sinon compilateur pas content
