-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathChoukaBara.drawio
194 lines (194 loc) · 16.8 KB
/
ChoukaBara.drawio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
<mxfile host="app.diagrams.net" modified="2020-08-12T13:42:27.474Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36" etag="4fxdgmPnW4So-5a0aoeq" compressed="false" version="13.6.2" type="device" pages="3">
<diagram name="ObjectStructure" id="52a04d89-c75d-2922-d76d-85b35f80e030">
<mxGraphModel dx="1022" dy="469" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1100" pageHeight="850" background="#ffffff" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="dYvNjTaHLD7iNuQADhxo-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="dYvNjTaHLD7iNuQADhxo-1" target="dYvNjTaHLD7iNuQADhxo-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dYvNjTaHLD7iNuQADhxo-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="dYvNjTaHLD7iNuQADhxo-1" target="dYvNjTaHLD7iNuQADhxo-3" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dYvNjTaHLD7iNuQADhxo-1" value="MainScene" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="40" y="40" width="200" height="160" as="geometry" />
</mxCell>
<mxCell id="dYvNjTaHLD7iNuQADhxo-2" value="Background and T<br>TileMap" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="280" y="40" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="dYvNjTaHLD7iNuQADhxo-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="dYvNjTaHLD7iNuQADhxo-3" target="dYvNjTaHLD7iNuQADhxo-5" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dYvNjTaHLD7iNuQADhxo-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="dYvNjTaHLD7iNuQADhxo-3" target="dYvNjTaHLD7iNuQADhxo-7" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dYvNjTaHLD7iNuQADhxo-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="dYvNjTaHLD7iNuQADhxo-3" target="dYvNjTaHLD7iNuQADhxo-8" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dYvNjTaHLD7iNuQADhxo-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="dYvNjTaHLD7iNuQADhxo-3" target="dYvNjTaHLD7iNuQADhxo-9" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dYvNjTaHLD7iNuQADhxo-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="dYvNjTaHLD7iNuQADhxo-3" target="dYvNjTaHLD7iNuQADhxo-10" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dYvNjTaHLD7iNuQADhxo-3" value="GameManager" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="280" y="140" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="dYvNjTaHLD7iNuQADhxo-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="dYvNjTaHLD7iNuQADhxo-5" target="dYvNjTaHLD7iNuQADhxo-6" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dYvNjTaHLD7iNuQADhxo-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="dYvNjTaHLD7iNuQADhxo-5" target="dYvNjTaHLD7iNuQADhxo-12" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dYvNjTaHLD7iNuQADhxo-5" value="Player" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="440" y="140" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="dYvNjTaHLD7iNuQADhxo-6" value="Pawn" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="600" y="60" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="dYvNjTaHLD7iNuQADhxo-7" value="PlayerHomeBase" style="rounded=0;whiteSpace=wrap;html=1;container=1;" parent="1" vertex="1">
<mxGeometry x="440" y="220" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="dYvNjTaHLD7iNuQADhxo-8" value="Goal" style="rounded=0;whiteSpace=wrap;html=1;container=1;" parent="1" vertex="1">
<mxGeometry x="440" y="300" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="dYvNjTaHLD7iNuQADhxo-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="dYvNjTaHLD7iNuQADhxo-9" target="dYvNjTaHLD7iNuQADhxo-11" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="dYvNjTaHLD7iNuQADhxo-9" value="Gara" style="rounded=0;whiteSpace=wrap;html=1;container=1;" parent="1" vertex="1">
<mxGeometry x="440" y="380" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="dYvNjTaHLD7iNuQADhxo-10" value="GUI" style="rounded=0;whiteSpace=wrap;html=1;container=1;" parent="1" vertex="1">
<mxGeometry x="440" y="460" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="dYvNjTaHLD7iNuQADhxo-11" value="Koude" style="rounded=0;whiteSpace=wrap;html=1;container=1;" parent="1" vertex="1">
<mxGeometry x="600" y="380" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="dYvNjTaHLD7iNuQADhxo-12" value="Navigation" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="600" y="140" width="120" height="60" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="4XE_h-SoMfbQiYLsG42J" name="GameStateMachine">
<mxGraphModel dx="1022" dy="469" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="AYsLdjAZY5YQVhehcRy6-0" />
<mxCell id="AYsLdjAZY5YQVhehcRy6-1" parent="AYsLdjAZY5YQVhehcRy6-0" />
<mxCell id="U_qEztp-OdGUMKN8HiIh-0" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="AYsLdjAZY5YQVhehcRy6-1" source="AYsLdjAZY5YQVhehcRy6-2" target="AYsLdjAZY5YQVhehcRy6-3" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AYsLdjAZY5YQVhehcRy6-2" value="SelectNextPlayer" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="AYsLdjAZY5YQVhehcRy6-1" vertex="1">
<mxGeometry x="40" y="80" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="lFImt7AyNQ_Q1JKCJY6W-0" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;" parent="AYsLdjAZY5YQVhehcRy6-1" source="AYsLdjAZY5YQVhehcRy6-3" target="AYsLdjAZY5YQVhehcRy6-4" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="440" y="95" />
<mxPoint x="440" y="95" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="AYsLdjAZY5YQVhehcRy6-3" value="CalculateGara" style="rounded=0;whiteSpace=wrap;html=1;" parent="AYsLdjAZY5YQVhehcRy6-1" vertex="1">
<mxGeometry x="280" y="80" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="U_qEztp-OdGUMKN8HiIh-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=1;exitDx=0;exitDy=0;entryX=0.75;entryY=0;entryDx=0;entryDy=0;" parent="AYsLdjAZY5YQVhehcRy6-1" source="AYsLdjAZY5YQVhehcRy6-4" target="U_qEztp-OdGUMKN8HiIh-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="j4KfHDRp-JS_7up0XgTz-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="AYsLdjAZY5YQVhehcRy6-1" source="AYsLdjAZY5YQVhehcRy6-4" target="AYsLdjAZY5YQVhehcRy6-2" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="650" y="40" />
<mxPoint x="100" y="40" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="lFImt7AyNQ_Q1JKCJY6W-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.75;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;" parent="AYsLdjAZY5YQVhehcRy6-1" source="AYsLdjAZY5YQVhehcRy6-4" target="AYsLdjAZY5YQVhehcRy6-3" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="AYsLdjAZY5YQVhehcRy6-4" value="SelectPawn" style="rounded=0;whiteSpace=wrap;html=1;" parent="AYsLdjAZY5YQVhehcRy6-1" vertex="1">
<mxGeometry x="590" y="80" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="nrScG-lQ7RIDsAnwRX3d-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="AYsLdjAZY5YQVhehcRy6-1" source="U_qEztp-OdGUMKN8HiIh-2" target="AYsLdjAZY5YQVhehcRy6-4" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="510" y="180" as="targetPoint" />
<Array as="points">
<mxPoint x="650" y="190" />
<mxPoint x="650" y="190" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="U_qEztp-OdGUMKN8HiIh-2" value="MovePawn" style="rounded=0;whiteSpace=wrap;html=1;" parent="AYsLdjAZY5YQVhehcRy6-1" vertex="1">
<mxGeometry x="590" y="240" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="lFImt7AyNQ_Q1JKCJY6W-2" value="onPlayerSelected" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="AYsLdjAZY5YQVhehcRy6-1" vertex="1">
<mxGeometry x="170" y="90" width="110" height="20" as="geometry" />
</mxCell>
<mxCell id="lFImt7AyNQ_Q1JKCJY6W-4" value="onGaraComplete" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="AYsLdjAZY5YQVhehcRy6-1" vertex="1">
<mxGeometry x="440" y="70" width="110" height="20" as="geometry" />
</mxCell>
<mxCell id="lFImt7AyNQ_Q1JKCJY6W-6" value="whenGaraListIsEmpty" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="AYsLdjAZY5YQVhehcRy6-1" vertex="1">
<mxGeometry x="250" y="10" width="130" height="20" as="geometry" />
</mxCell>
<mxCell id="lFImt7AyNQ_Q1JKCJY6W-7" value="whenPlayerHitsEnemyPawn" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="AYsLdjAZY5YQVhehcRy6-1" vertex="1">
<mxGeometry x="410" y="100" width="170" height="20" as="geometry" />
</mxCell>
<mxCell id="lFImt7AyNQ_Q1JKCJY6W-8" value="onPawnSelected" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="AYsLdjAZY5YQVhehcRy6-1" vertex="1">
<mxGeometry x="690" y="180" width="110" height="20" as="geometry" />
</mxCell>
<mxCell id="lFImt7AyNQ_Q1JKCJY6W-9" value="onPawnMoveComplete.<br>OR<br>whenValidationForMovementFails" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="AYsLdjAZY5YQVhehcRy6-1" vertex="1">
<mxGeometry x="450" y="165" width="200" height="50" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="hSoYru_jvj7di--z8QkI" name="PawnStateMachine">
<mxGraphModel dx="1022" dy="469" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="pHmQsXQUb6NY9mhHEkNk-0" />
<mxCell id="pHmQsXQUb6NY9mhHEkNk-1" parent="pHmQsXQUb6NY9mhHEkNk-0" />
<mxCell id="L-U8QV9hk-rFL4ZtFjXs-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="pHmQsXQUb6NY9mhHEkNk-1" source="L-U8QV9hk-rFL4ZtFjXs-0" target="L-U8QV9hk-rFL4ZtFjXs-1" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JmYr_jqwd_0VeEKk5CfC-0" value="onDestinationChanged" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="L-U8QV9hk-rFL4ZtFjXs-3" vertex="1" connectable="0">
<mxGeometry x="-0.1439" y="-2" relative="1" as="geometry">
<mxPoint x="-2" y="-17" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="L-U8QV9hk-rFL4ZtFjXs-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="pHmQsXQUb6NY9mhHEkNk-1" source="L-U8QV9hk-rFL4ZtFjXs-0" target="L-U8QV9hk-rFL4ZtFjXs-2" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JmYr_jqwd_0VeEKk5CfC-2" value="onPawnHit" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="L-U8QV9hk-rFL4ZtFjXs-7" vertex="1" connectable="0">
<mxGeometry x="-0.1857" relative="1" as="geometry">
<mxPoint x="-40" y="3" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="L-U8QV9hk-rFL4ZtFjXs-0" value="Idle" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="pHmQsXQUb6NY9mhHEkNk-1" vertex="1">
<mxGeometry x="80" y="40" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="L-U8QV9hk-rFL4ZtFjXs-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.25;exitY=0;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;" parent="pHmQsXQUb6NY9mhHEkNk-1" source="L-U8QV9hk-rFL4ZtFjXs-1" target="L-U8QV9hk-rFL4ZtFjXs-0" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JmYr_jqwd_0VeEKk5CfC-1" value="onDestinationReached" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="L-U8QV9hk-rFL4ZtFjXs-6" vertex="1" connectable="0">
<mxGeometry x="0.2089" y="1" relative="1" as="geometry">
<mxPoint y="14" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="L-U8QV9hk-rFL4ZtFjXs-1" value="Move" style="rounded=1;whiteSpace=wrap;html=1;" parent="pHmQsXQUb6NY9mhHEkNk-1" vertex="1">
<mxGeometry x="320" y="160" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="L-U8QV9hk-rFL4ZtFjXs-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0.25;entryY=1;entryDx=0;entryDy=0;" parent="pHmQsXQUb6NY9mhHEkNk-1" source="L-U8QV9hk-rFL4ZtFjXs-2" target="L-U8QV9hk-rFL4ZtFjXs-1" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="JmYr_jqwd_0VeEKk5CfC-3" value="onHomeBaseSet" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="L-U8QV9hk-rFL4ZtFjXs-5" vertex="1" connectable="0">
<mxGeometry x="0.0162" y="-1" relative="1" as="geometry">
<mxPoint x="-14" y="14" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="L-U8QV9hk-rFL4ZtFjXs-2" value="Hit" style="rounded=1;whiteSpace=wrap;html=1;" parent="pHmQsXQUb6NY9mhHEkNk-1" vertex="1">
<mxGeometry x="80" y="240" width="120" height="60" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>