38 lines
889 B
Plaintext
38 lines
889 B
Plaintext
import 'generated/Game.ecore'
|
|
|
|
package game
|
|
|
|
context Explorateur
|
|
inv negativeQuantity: self.tailleInventaire >= 0
|
|
|
|
context Objet
|
|
inv negativeQuantity: self.taille >= 0
|
|
|
|
context Nom
|
|
inv CorrectNom: self.nom.matches('[a-zA-Z]([a-zA-Z0-9]|_)*')
|
|
|
|
context Jeu
|
|
inv NomLieuUnique:
|
|
Lieu.allInstances()
|
|
->forAll(x, y | x.nom.nom <> y.nom.nom)
|
|
inv NomCheminUnique:
|
|
Chemin.allInstances()
|
|
->forAll(x, y | x.nom.nom <> y.nom.nom)
|
|
inv NomObjetUnique:
|
|
Objet.allInstances()
|
|
->forAll(x, y | x.nom.nom <> y.nom.nom)
|
|
inv NomConnaissanceUnique:
|
|
Connaissance.allInstances()
|
|
->forAll(x, y | x.nom.nom <> y.nom.nom)
|
|
inv NomPersonneUnique:
|
|
Personne.allInstances()
|
|
->forAll(x, y | x.nom.nom <> y.nom.nom)
|
|
inv NomInteractionUnique:
|
|
Interaction.allInstances()
|
|
->forAll(x, y | x.nom.nom <> y.nom.nom)
|
|
inv NomActionUnique:
|
|
Action.allInstances()
|
|
->forAll(x, y | x.nom.nom <> y.nom.nom)
|
|
|
|
endpackage
|