package id12lm3cgroq4becgrpb7ys;

/**
@version 2.0
@__modelType diagram 
*/
class diagram {
/**
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node20:oiref><oihard>
@__modelType reference 
*/
class reference22 {
}/**
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node13:oiref><oihard>
@__modelType reference 
*/
class reference23 {
}/**
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node246:oiref><oihard>
@__modelType reference 
*/
class reference24 {
}/**
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node8:oiref><oihard>
@__modelType reference 
*/
class reference26 {
}/**
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node10:oiref><oihard>
@__modelType reference 
*/
class reference27 {
}/**
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node6:oiref><oihard>
@__modelType reference 
*/
class reference29 {
}/**
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node18:oiref><oihard>
@__modelType reference 
*/
class reference30 {
}/**
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node16:oiref><oihard>
@__modelType reference 
*/
class reference31 {
}/**
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node4:oiref><oihard>
@__modelType reference 
*/
class reference32 {
}/**
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node:oiref><oihard>
@__modelType reference 
*/
class reference {
}/**
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node12:oiref><oihard>
@__modelType reference 
*/
class reference13 {
}/**
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node14:oiref><oihard>
@__modelType reference 
*/
class reference15 {
}/**
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node9:oiref><oihard>
@__modelType reference 
*/
class reference10 {
}}/**
@__tags
@shapeType SequenceDiagram
@__viewType collaborationView 
*/
class __tags {
}/**
@__options option.fittopage = false
option.printzoom = 0.65 
*/
class __options {
}/**
@__positions 
*/
class __positions {
}/**
@__positions <oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node246.node8:oiref>=1547,133,4,4,1:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.link11:oiref>=1354,256,1354,457:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node246.node47:oiref>=1547,133,4,4,1:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.link55:oiref>=1385,256,1662,397:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.link56:oiref>=1292,469,1467,573:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node246.link53:oiref>=1206,35,1146,35:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node246.link49:oiref>=1425,35,1547,35:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.link61:oiref>=1391,220,1699,220:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node10:oiref>=380,198,126,60,1:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node8.node63:oiref>=2222,466,4,4,1:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.link40:oiref>=582,391,569,232:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.link62:oiref>=1307,475,1509,425:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.link58:oiref>=1258,476,1258,476:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.node36:oiref>=1489,451,4,4,1:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node16.link52:oiref>=1079,179,1517,164:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node12:oiref>=13,11,272,110,0:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.node59:oiref>=1489,451,4,4,1:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node13:oiref>=855,5,291,71,0:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node10.link23:oiref>=1500,162,1072,305:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.link43:oiref>=574,399,574,399:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node14.link35:oiref>=314,378,462,359:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node10.link50:oiref>=443,198,443,120:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node10.link24:oiref>=506,229,826,229:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node14:oiref>=826,200,108,60,1:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.link39:oiref>=1330,256,1116,396:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node:oiref>=1281,196,110,60,1:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node246.node:oiref>=1547,133,4,4,1:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node4:oiref>=1010,396,212,60,1:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.node44:oiref>=1489,451,4,4,1:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node246:oiref>=1206,5,219,60,1:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node16.link34:oiref>=119,228,380,228:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node20:oiref>=308,73,326,47,0:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.link45:oiref>=1379,256,1379,278,1413,278,1413,244,1391,244:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node16:oiref>=62,190,57,74,1:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.link46:oiref>=603,396,673,219:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node6:oiref>=1567,397,190,60,1:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node4.node41:oiref>=965,844,4,4,1:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node10.node53:oiref>=274,130,4,4,1:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node14.node:oiref>=890,449,4,4,1:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node6.node57:oiref>=1952,859,4,4,1:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.node52:oiref>=1489,451,4,4,1:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node18:oiref>=1547,4,232,74,0:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node16.link:oiref>=90,190,90,121:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node14.link22:oiref>=934,228,1281,228:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.link48:oiref>=1336,196,1336,65:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node8:oiref>=1699,194,108,60,1:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node9:oiref>=1257,457,232,66,0:oigroup>
<oigroup:<oiref:design#Class#id12lm3cgroq4becgrpb7ys.node246.link51:oiref>=672,219,557,390:oigroup>




























@__viewType collaborationView 
*/
class __positions240 {
}/**
@shapeType Object
@__modelType node
@name selectedSquare
*/
class node246 {
/**
@shapeType Activation
@__modelType node
@name Activation2
@activationMessage <oiref:design#Class#.node223.link:oiref> 
*/
class node {
}/**
@shapeType DependencyLink
@__modelType link
@__ref <oiref:java#Class#evolution.lands.SquareOfLand:oiref><oihard> 
*/
class link {
}/**
@shapeType Activation
@__modelType node
@name Activation3
@activationMessage <oiref:design#Class#.node246.link7:oiref> 
*/
class node8 {
}/**
@shapeType Activation
@__modelType node
@name Activation8
@activationMessage <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.link46:oiref> 
*/
class node47 {
}/**
@shapeType NoteLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node18:oiref><oihard> 
*/
class link49 {
}/**
@shapeType MessageLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node:oiref><oihard>
@sendingInstant 910
@processingDuration 20
@sequenceNumber 2.3.1
@operation <oiref:java#Member#evolution.Human#setSquareOfLand#(#evolution.lands.SquareOfLand#)#:oiref>
@operationNameAsText 'setSquareOfLand(SquareOfLand):void'
@arguments human 
*/
class link51 {
}/**
@shapeType NoteLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node13:oiref><oihard> 
*/
class link53 {
}}/**
@shapeType Object
@__modelType node
@stereotype singleton*/
class node4 {
/**
@shapeType DependencyLink
@__modelType link
@__ref <oiref:java#Class#evolution.EvolutionKnowledgeCatalog:oiref><oihard> 
*/
class link {
}/**
@shapeType Activation
@__modelType node
@name Activation6
@activationMessage <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.link40:oiref> 
*/
class node41 {
}}/**
@shapeType Object
@__modelType node
@stereotype singleton
@name
*/
class node6 {
/**
@shapeType DependencyLink
@__modelType link
@__ref <oiref:java#Class#evolution.actions.ActionKnowledgeCatalog:oiref><oihard> 
*/
class link {
}/**
@shapeType Activation
@__modelType node
@name Activation11
@activationMessage <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.link56:oiref> 
*/
class node57 {
}}/**
@shapeType Object
@__modelType node
@name
@stereotype singleton*/
class node8 {
/**
@shapeType DependencyLink
@__modelType link
@__ref <oiref:java#Class#evolution.Evolution:oiref><oihard> 
*/
class link {
}/**
@shapeType Activation
@__modelType node
@name Activation14
@activationMessage <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.link62:oiref> 
*/
class node63 {
}}/**
@shapeType Object
@__modelType node*/
class node10 {
/**
@shapeType DependencyLink
@__modelType link
@__ref <oiref:java#Class#evolution.WorldController:oiref><oihard>
*/
class link {
}/**
@shapeType NoteLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node20:oiref><oihard> 
*/
class link50 {
}/**
@shapeType Activation
@__modelType node
@name Activation5
@activationMessage <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node16.link52:oiref> 
*/
class node53 {
}/**
@shapeType MessageLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node14:oiref><oihard>
@sendingInstant 695
@processingDuration 20
@sequenceNumber 1.1
@operation <oiref:java#Member#evolution.World#createHuman#(#evolution.lands.SquareOfLand#)#:oiref>
@operationNameAsText 'createHuman(SquareOfLand):void'
@arguments selectedSquare 
*/
class link23 {
}/**
@shapeType CollaborationLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node14:oiref><oihard> 
*/
class link24 {
}}/**
@shapeType Note
@__modelType node
@name Note2
@text The method _place(human) throws an
IllegalPlacementException if the 
square already contains a human or
the square is not yet explored.
*/
class node13 {
}/**
@shapeType Object
@__modelType node
@name Player
@stereotype actor 
*/
class node16 {
/**
@shapeType DependencyLink
@__modelType link
@__ref <oiref:java#Class#Evolution.Explorer:oiref><oihard> 
*/
class link36 {
}/**
@shapeType CollaborationLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node10:oiref><oihard> 
*/
class link34 {
}/**
@shapeType MessageLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node10:oiref><oihard>
@sendingInstant 675
@processingDuration 50
@sequenceNumber 1
@operation <oiref:java#Member#evolution.WorldController#selectSquareOfLand#(#int#int#)#:oiref>
@operationNameAsText 'selectSquareOfLand(int,int):void'
@arguments x, y 
*/
class link52 {
}/**
@shapeType NoteLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node12:oiref><oihard> 
*/
class link {
}}/**
@shapeType Note
@__modelType node
@name Note1
@text The square is selected by
the player after the action
create a human and is 
remembered by the world
controller.
*/
class node18 {
}/**
@shapeType Note
@__modelType node
@name Note3
@text The method selectSquareOfLand(x, y) throws
a CreationPowerInsufficientException if the
creation power is too low.
*/
class node20 {
}/**
@shapeType Object
@__modelType node
@name human 
*/
class node {
/**
@shapeType DependencyLink
@__modelType link
@__ref <oiref:java#Class#evolution.Human:oiref><oihard> 
*/
class link {
}/**
@shapeType Activation
@__modelType node
@name Activation4
@activationMessage <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node14.link35:oiref> 
*/
class node36 {
}/**
@shapeType CollaborationLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node4:oiref><oihard> 
*/
class link39 {
}/**
@shapeType MessageLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node4:oiref><oihard>
@sendingInstant 780
@processingDuration 20
@sequenceNumber 2.1
@operation <oiref:java#Member#evolution.EvolutionKnowledgeCatalog#getDefaultVisionRange#(##)#:oiref>
@operationNameAsText 'getDefaultVisionRange():int'
@return range 
*/
class link40 {
}/**
@shapeType MessageLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node:oiref><oihard>
@sendingInstant 820
@processingDuration 20
@sequenceNumber 2.2
@operation <oiref:java#Member#evolution.Human#setVisionRange#(#int#)#:oiref>
@operationNameAsText 'setVisionRange(int):void'
@arguments range 
*/
class link43 {
}/**
@shapeType Activation
@__modelType node
@name Activation7
@activationMessage <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.link43:oiref> 
*/
class node44 {
}/**
@shapeType CollaborationLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node:oiref><oihard> 
*/
class link45 {
}/**
@shapeType MessageLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node246:oiref><oihard>
@sendingInstant 890
@processingDuration 50
@sequenceNumber 2.3
@operation <oiref:java#Member#evolution.lands.SquareOfLand#_place#(#evolution.constructions.Construction#)#:oiref>
@operationNameAsText '_place(Construction):void'
@arguments human
@label 
*/
class link46 {
}/**
@shapeType CollaborationLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node246:oiref><oihard> 
*/
class link48 {
}/**
@shapeType Activation
@__modelType node
@name Activation9
@activationMessage <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node246.link51:oiref> 
*/
class node52 {
}/**
@shapeType CollaborationLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node6:oiref><oihard> 
*/
class link55 {
}/**
@shapeType MessageLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node6:oiref><oihard>
@sendingInstant 1000
@processingDuration 20
@sequenceNumber 2.4
@label
@operation <oiref:java#Member#evolution.actions.ActionKnowledgeCatalog#getDefaultActionType#(##)#:oiref>
@operationNameAsText 'getDefaultActionType():String'
@return defaultAction
*/
class link56 {
}/**
@shapeType MessageLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node:oiref><oihard>
@sendingInstant 1040
@processingDuration 20
@sequenceNumber 2.5
@label
@operation <oiref:java#Member#evolution.Human#setAction#(#java.lang.String#)#:oiref>
@operationNameAsText 'setAction(String):void'
@arguments defaultAction
*/
class link58 {
}/**
@shapeType Activation
@__modelType node
@name Activation12
@activationMessage <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node.link58:oiref> 
*/
class node59 {
}/**
@shapeType CollaborationLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node8:oiref><oihard> 
*/
class link61 {
}/**
@shapeType MessageLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node8:oiref><oihard>
@sendingInstant 1180
@processingDuration 20
@sequenceNumber 2.6
@operation <oiref:java#Member#evolution.Evolution#register#(#evolution.Evolver#)#:oiref>
@operationNameAsText 'register(Evolver):void'
@arguments human 
*/
class link62 {
}/**
@shapeType NoteLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node9:oiref><oihard> 
*/
class link11 {
}}/**
@shapeType Note
@__modelType node
@name Note4
@text The player choose to create a new
human and selectes a square of 
land with coordinates (x, y). If the
selected square doesn't contain a
human then the worldcontroller
will try to create a new human on
square.
*/
class node12 {
}/**
@shapeType Object
@__modelType node
@stereotype singleton*/
class node14 {
/**
@shapeType DependencyLink
@__modelType link
@__ref <oiref:java#Class#evolution.World:oiref><oihard> 
*/
class link {
}/**
@shapeType MessageLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node:oiref><oihard>
@sendingInstant 720
@processingDuration 490
@sequenceNumber 2
@label human := create(selectedSquare)
*/
class link35 {
}/**
@shapeType CollaborationLink
@__modelType link
@__ref <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node:oiref><oihard> 
*/
class link22 {
}/**
@shapeType Activation
@__modelType node
@name Activation1
@activationMessage <oiref:design#Class#id12lm3cgroq4becgrpb7ys.node10.link23:oiref> 
*/
class node {
}}/**
@shapeType Note
@__modelType node
@name Note5
@text When the human is created,
a SquareChangedEvt is
fired. 
*/
class node9 {
}