fix: content and usings
This commit is contained in:
parent
d8a278d2e4
commit
89978f0fc3
7 changed files with 707 additions and 54 deletions
BIN
.$architecture.drawio.png.bkp
Normal file
BIN
.$architecture.drawio.png.bkp
Normal file
Binary file not shown.
After Width: | Height: | Size: 1,019 KiB |
635
.$architecture.drawio.png.dtmp
Normal file
635
.$architecture.drawio.png.dtmp
Normal file
|
@ -0,0 +1,635 @@
|
|||
<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.7.5 Chrome/126.0.6478.183 Electron/31.3.0 Safari/537.36" scale="1" border="0" version="24.7.5">
|
||||
<diagram name="Page-1" id="vN-Mjpsko5mhnfbVd4ZQ">
|
||||
<mxGraphModel dx="4050" dy="3084" 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="0" />
|
||||
<mxCell id="1" parent="0" />
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-120" value="" style="group;strokeColor=#996185;dashed=1;dashPattern=12 12;rounded=1;fillColor=#e6d0de;gradientColor=#d5739d;" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="380" y="-1350" width="1160" height="1110" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-88" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shape=flexArrow;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-120" source="lzB2u7mNdVftqM7OZ14K-85" target="lzB2u7mNdVftqM7OZ14K-87" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-89" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-120" source="lzB2u7mNdVftqM7OZ14K-85" target="lzB2u7mNdVftqM7OZ14K-86" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="153" y="30" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-100" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shape=flexArrow;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-120" source="lzB2u7mNdVftqM7OZ14K-85" target="lzB2u7mNdVftqM7OZ14K-99" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-105" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-120" source="lzB2u7mNdVftqM7OZ14K-85" target="lzB2u7mNdVftqM7OZ14K-102" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="323" y="30" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-106" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shape=flexArrow;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-120" source="lzB2u7mNdVftqM7OZ14K-85" target="lzB2u7mNdVftqM7OZ14K-103" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-107" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-120" source="lzB2u7mNdVftqM7OZ14K-85" target="lzB2u7mNdVftqM7OZ14K-104" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-109" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shape=flexArrow;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-120" source="lzB2u7mNdVftqM7OZ14K-85" target="lzB2u7mNdVftqM7OZ14K-108" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-111" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shape=flexArrow;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-120" source="lzB2u7mNdVftqM7OZ14K-85" target="lzB2u7mNdVftqM7OZ14K-110" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-199" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-120" source="lzB2u7mNdVftqM7OZ14K-85" target="lzB2u7mNdVftqM7OZ14K-198" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-85" value="AbstractGUI<div><br><div>Update()</div><div>Draw()</div></div>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-120" vertex="1">
|
||||
<mxGeometry width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-86" value="MainMenuGUI" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-120" vertex="1">
|
||||
<mxGeometry x="90" y="150" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-87" value="BaseGUI" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-120" vertex="1">
|
||||
<mxGeometry x="175.5" y="230" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-99" value="GameEndedGUI" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-120" vertex="1">
|
||||
<mxGeometry x="840" y="180" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-159" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;curved=1;dashed=1;" parent="lzB2u7mNdVftqM7OZ14K-120" source="lzB2u7mNdVftqM7OZ14K-103" target="lzB2u7mNdVftqM7OZ14K-158" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="343" y="430" />
|
||||
<mxPoint x="343" y="730" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-102" value="SelectModeMenu" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-120" vertex="1">
|
||||
<mxGeometry x="282.5" y="320" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-161" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;curved=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;dashed=1;" parent="lzB2u7mNdVftqM7OZ14K-120" source="lzB2u7mNdVftqM7OZ14K-103" target="lzB2u7mNdVftqM7OZ14K-160" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="443" y="850" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-103" value="SelectingServerGUI" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-120" vertex="1">
|
||||
<mxGeometry x="382.5" y="400" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-104" value="WaitingForPlayersGUI<div><br></div><div>Host can start game here</div><div><br></div><div>У хоста здесь будет кнопка старта игры, у других - нет</div>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-120" vertex="1">
|
||||
<mxGeometry x="481.25" y="480" width="132.5" height="180" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-108" value="InventoryGUI" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-120" vertex="1">
|
||||
<mxGeometry x="740" y="270" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-110" value="HUD" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-120" vertex="1">
|
||||
<mxGeometry x="605" y="400" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-158" value="<div>MultiPlayerStartHosting</div><div><br></div><div>Server.CreateRoom();</div><div>Client.JoinRoom(127.0.0.1);</div>" style="ellipse;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-120" vertex="1">
|
||||
<mxGeometry x="5.5" y="670" width="170" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-138" value="SinglePlayerSelected<div><br><div>Server.CreatedRoom();</div><div>Client.JoinRoom(127.0.0.1);</div><div>Server.StartGame();</div></div>" style="ellipse;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-120" vertex="1">
|
||||
<mxGeometry x="5.5" y="540" width="170" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-157" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=default;curved=1;dashed=1;" parent="lzB2u7mNdVftqM7OZ14K-120" source="lzB2u7mNdVftqM7OZ14K-102" target="lzB2u7mNdVftqM7OZ14K-138" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-160" value="<div><span style="background-color: initial;">Join Room</span></div><div><span style="background-color: initial;"><br></span></div><div><span style="background-color: initial;">Client.JoinRoom(ip);</span><br></div>" style="ellipse;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-120" vertex="1">
|
||||
<mxGeometry x="10" y="800" width="170" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-163" value="<div><span style="background-color: initial;">Start Game</span></div><div><span style="background-color: initial;"><br></span></div><div><span style="background-color: initial;">Server.StartGame();</span><br></div>" style="ellipse;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-120" vertex="1">
|
||||
<mxGeometry x="10" y="930" width="170" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-164" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;curved=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="lzB2u7mNdVftqM7OZ14K-120" source="lzB2u7mNdVftqM7OZ14K-104" target="lzB2u7mNdVftqM7OZ14K-163" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-184" value="Обращается к игроку и выводит/ изменяет его данные на экране" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-120" vertex="1">
|
||||
<mxGeometry x="760" y="300" width="160" height="120" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-198" value="OptionsGUI" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-120" vertex="1">
|
||||
<mxGeometry x="980" y="120" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-36" value="" style="group;strokeColor=#b85450;dashed=1;rounded=1;glass=1;fillColor=#f8cecc;" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="-200" y="-220" width="490" height="630" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="TA6NM5vga4TUYUKUYXcC-36" source="lzB2u7mNdVftqM7OZ14K-1" target="lzB2u7mNdVftqM7OZ14K-8" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="300" y="445" />
|
||||
<mxPoint x="300" y="605" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-94" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="TA6NM5vga4TUYUKUYXcC-36" source="lzB2u7mNdVftqM7OZ14K-1" target="lzB2u7mNdVftqM7OZ14K-93" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="300" y="445" />
|
||||
<mxPoint x="300" y="536" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-1" value="Server<div>- Логика игры</div><div>- Апдейт монсты</div><div>Работает на тиках</div><div><br></div><div>States:</div><div><span style="white-space: pre;">	</span>Waiting for Players<br></div><div>InGame</div><div><br></div><div><br></div><div>CreatedRoom(); - начинает слушать и ожидать новых подключений</div><div><br></div><div>StartGame();&nbsp;<span style="background-color: initial;">- Уведомляет о начале игры, перестает ждать новых подключений</span></div><div><span style="background-color: initial;"><br></span></div><div>EndGame();&nbsp;<span style="background-color: initial;">- Уведомляет о конце игры, все прослушки отключаются</span></div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="TA6NM5vga4TUYUKUYXcC-36" vertex="1">
|
||||
<mxGeometry y="40" width="220" height="290" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-8" value="Лист Entity" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;" parent="TA6NM5vga4TUYUKUYXcC-36" vertex="1">
|
||||
<mxGeometry x="350" y="580" width="110" height="50" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-60" value="Сервер загрузился и все зарегистрировал<div><br></div><div>каждый тик апдейт и отправка данных клиенту</div>" style="rounded=1;whiteSpace=wrap;html=1;" parent="TA6NM5vga4TUYUKUYXcC-36" vertex="1">
|
||||
<mxGeometry x="240" width="250" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-93" value="Лист GameObjects" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;" parent="TA6NM5vga4TUYUKUYXcC-36" vertex="1">
|
||||
<mxGeometry x="350" y="510" width="110" height="52.5" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="lzB2u7mNdVftqM7OZ14K-1" target="lzB2u7mNdVftqM7OZ14K-46" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="-320" y="225" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-139" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="lzB2u7mNdVftqM7OZ14K-1" target="lzB2u7mNdVftqM7OZ14K-6" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="290" y="-35" />
|
||||
<mxPoint x="290" y="218" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-140" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="lzB2u7mNdVftqM7OZ14K-1" target="lzB2u7mNdVftqM7OZ14K-12" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="393" y="-35" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-135" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="lzB2u7mNdVftqM7OZ14K-2" target="lzB2u7mNdVftqM7OZ14K-1" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-136" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="lzB2u7mNdVftqM7OZ14K-2" target="lzB2u7mNdVftqM7OZ14K-4" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="-90" y="-795" />
|
||||
<mxPoint x="-90" y="-273" />
|
||||
<mxPoint x="-538" y="-273" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-137" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="lzB2u7mNdVftqM7OZ14K-2" target="lzB2u7mNdVftqM7OZ14K-85" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="-90" y="-795" />
|
||||
<mxPoint x="-90" y="-930" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-168" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="lzB2u7mNdVftqM7OZ14K-2" target="lzB2u7mNdVftqM7OZ14K-90" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="-850" y="-795" />
|
||||
<mxPoint x="-850" y="-1080" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-173" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="lzB2u7mNdVftqM7OZ14K-2" target="lzB2u7mNdVftqM7OZ14K-172" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="-850" y="-795" />
|
||||
<mxPoint x="-850" y="-905" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="lzB2u7mNdVftqM7OZ14K-2" target="TA6NM5vga4TUYUKUYXcC-1" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="-420" y="-1430" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-65" value="Adds Data to send if position has changed" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;curved=1;dashed=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="lzB2u7mNdVftqM7OZ14K-6" target="lzB2u7mNdVftqM7OZ14K-46" edge="1">
|
||||
<mxGeometry x="0.5191" relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="-30" y="270" />
|
||||
<mxPoint x="-30" y="470" />
|
||||
<mxPoint x="-345" y="320" />
|
||||
</Array>
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-58" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="lzB2u7mNdVftqM7OZ14K-8" target="lzB2u7mNdVftqM7OZ14K-25" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-12" value="MapManager<div>Система карты<div>- загружает карту (из заранее сделанных)</div></div>" style="rhombus;whiteSpace=wrap;html=1;fillColor=#6d8764;fontColor=#ffffff;strokeColor=#3A5431;" parent="1" vertex="1">
|
||||
<mxGeometry x="542.5" y="-110" width="230" height="150" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-57" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=link;" parent="1" source="lzB2u7mNdVftqM7OZ14K-49" target="lzB2u7mNdVftqM7OZ14K-50" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="-350" y="640" />
|
||||
<mxPoint x="-1466" y="640" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-90" value="PlayerData<div>Dictionary&lt;string, int&gt; resources</div>" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
|
||||
<mxGeometry x="-1090" y="-1110" width="170" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-95" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="1" source="lzB2u7mNdVftqM7OZ14K-93" target="lzB2u7mNdVftqM7OZ14K-39" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-127" value="" style="group;dashed=1;dashPattern=8 8;rounded=1;strokeColor=#d79b00;expand=1;autosize=1;fillColor=#ffe6cc;" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="-1960" y="820" width="1899.62" height="270" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-123" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-127" source="lzB2u7mNdVftqM7OZ14K-50" target="lzB2u7mNdVftqM7OZ14K-83" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="227.15189873417714" y="30" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-124" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-127" source="lzB2u7mNdVftqM7OZ14K-50" target="lzB2u7mNdVftqM7OZ14K-66" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-125" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-127" source="lzB2u7mNdVftqM7OZ14K-50" target="lzB2u7mNdVftqM7OZ14K-54" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-180" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-127" source="lzB2u7mNdVftqM7OZ14K-50" target="lzB2u7mNdVftqM7OZ14K-177" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-193" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-127" source="lzB2u7mNdVftqM7OZ14K-50" target="lzB2u7mNdVftqM7OZ14K-192" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-127" source="lzB2u7mNdVftqM7OZ14K-50" target="TA6NM5vga4TUYUKUYXcC-10" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-127" source="lzB2u7mNdVftqM7OZ14K-50" target="TA6NM5vga4TUYUKUYXcC-11" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-50" value="IUpdateData<div>id объекта</div><div>updatetype</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-127" vertex="1">
|
||||
<mxGeometry width="147.3417721518987" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-54" value="UpdateAnimation<div><div>хранит новую анимации</div></div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-127" vertex="1">
|
||||
<mxGeometry x="589.37" y="170" width="130.63" height="90" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-66" value="UpdateGameObjectCreated<div>Хранит объект, который только отправили</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-127" vertex="1">
|
||||
<mxGeometry x="356.0759493670885" y="170" width="208.73417721518982" height="92.5" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-83" value="UpdateGameEnded<div>Хранит полученный лут и уведомляет о конце игры</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-127" vertex="1">
|
||||
<mxGeometry x="122.78481012658223" y="170" width="208.73417721518982" height="92.5" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-177" value="UpdatePosition<div>Хранит новую позицию</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-127" vertex="1">
|
||||
<mxGeometry x="740" y="172.5" width="129.62" height="90" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-52" value="UpdateInput<div>Хранит новую позицию</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-127" vertex="1">
|
||||
<mxGeometry x="1580" y="172.5" width="129.62" height="90" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-126" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-127" source="lzB2u7mNdVftqM7OZ14K-50" target="lzB2u7mNdVftqM7OZ14K-52" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-182" value="ClientToServer<div>id - это id игрока</div>" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-127" vertex="1">
|
||||
<mxGeometry x="1510" y="40" width="130" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-183" value="ServerToClient" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-127" vertex="1">
|
||||
<mxGeometry x="1209.62" y="40" width="120" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-192" value="<div>Update<span style="background-color: initial;">Loot</span></div><div>Хранит лут</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-127" vertex="1">
|
||||
<mxGeometry x="880" y="172.5" width="129.62" height="90" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-10" value="UpdatePlayerParametrs<div>Хранит хп, радиацию</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-127" vertex="1">
|
||||
<mxGeometry x="1020" y="172.5" width="129.62" height="90" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-11" value="UpdateEntityHealth<div>хранит новое хп entity</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-127" vertex="1">
|
||||
<mxGeometry x="1160" y="172.5" width="129.62" height="90" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-6" value="UpdatePlayerExit<div>Пользователь ушел и сообщил</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-127" vertex="1">
|
||||
<mxGeometry x="1720" y="172.5" width="129.62" height="90" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-127" source="lzB2u7mNdVftqM7OZ14K-50" target="TA6NM5vga4TUYUKUYXcC-6" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-134" value="" style="group;strokeColor=#82b366;dashed=1;rounded=1;dashPattern=8 8;fillColor=#d5e8d4;" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="-100" y="1070" width="1020" height="1110" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-43" value="StopObject" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-134" vertex="1">
|
||||
<mxGeometry x="890" y="570" width="90" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-72" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-134" source="lzB2u7mNdVftqM7OZ14K-7" target="lzB2u7mNdVftqM7OZ14K-71" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-73" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-134" source="lzB2u7mNdVftqM7OZ14K-7" target="lzB2u7mNdVftqM7OZ14K-70" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="60" y="740" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-7" value="<div>LivingEntity</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-134" vertex="1">
|
||||
<mxGeometry x="280" y="700" width="185" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-19" value="Tile" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-134" vertex="1">
|
||||
<mxGeometry x="780" y="570" width="90" height="20" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-76" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-134" source="lzB2u7mNdVftqM7OZ14K-20" target="lzB2u7mNdVftqM7OZ14K-74" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="770" y="740" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-77" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-134" source="lzB2u7mNdVftqM7OZ14K-20" target="lzB2u7mNdVftqM7OZ14K-75" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="890" y="740" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-20" value="<div>Collectable</div><div><br></div><div>Прописать условия вызова OnInteract</div><div>подписывается на OnTriggerZone</div><div>OnInteract()</div><div><br></div><div>Это лут</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-134" vertex="1">
|
||||
<mxGeometry x="480" y="700" width="185" height="160" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-134" source="lzB2u7mNdVftqM7OZ14K-25" target="lzB2u7mNdVftqM7OZ14K-7" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="533" y="530" />
|
||||
<mxPoint x="390" y="530" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-134" source="lzB2u7mNdVftqM7OZ14K-25" target="lzB2u7mNdVftqM7OZ14K-20" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="533" y="530" />
|
||||
<mxPoint x="573" y="530" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-25" value="Entity<div>id<br><div><div>CollisionComponent</div><div>AnimationComponent<br><div>UpdateLogic()</div><div><div><div>- в апдейте может заявляет изменения позиции</div></div></div></div></div></div><div><br></div><div>Методы для клиента</div><div><div>UpdateAnimation()</div><div>Draw()</div></div><div><br></div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-134" vertex="1">
|
||||
<mxGeometry x="428" y="140" width="210" height="230" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-32" value="Все Entity будут передаваться клиенту" style="rounded=1;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-134" vertex="1">
|
||||
<mxGeometry x="567.5" y="340" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-134" source="lzB2u7mNdVftqM7OZ14K-39" target="lzB2u7mNdVftqM7OZ14K-25" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-42" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-134" source="lzB2u7mNdVftqM7OZ14K-39" target="lzB2u7mNdVftqM7OZ14K-19" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-44" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-134" source="lzB2u7mNdVftqM7OZ14K-39" target="lzB2u7mNdVftqM7OZ14K-43" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-39" value="<div>GameObject</div><div>Штуки с отрисовкой, их мы отправлять будем</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-134" vertex="1">
|
||||
<mxGeometry x="440.5" width="185" height="80" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-70" value="Player<div><br></div><div>bool isTryingToInteract</div>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-134" vertex="1">
|
||||
<mxGeometry y="920" width="140" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-71" value="Enemy" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-134" vertex="1">
|
||||
<mxGeometry x="150" y="920" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-74" value="Wood" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-134" vertex="1">
|
||||
<mxGeometry x="710" y="920" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-75" value="Ammo" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-134" vertex="1">
|
||||
<mxGeometry x="840" y="920" width="100" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-24" value="Projectile<div>Vector2 velocity</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-134" vertex="1">
|
||||
<mxGeometry x="312.5" y="900" width="167.5" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-134" source="lzB2u7mNdVftqM7OZ14K-7" target="TA6NM5vga4TUYUKUYXcC-24" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="396" y="820" />
|
||||
<mxPoint x="396" y="820" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-27" value="Bullet" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-134" vertex="1">
|
||||
<mxGeometry x="270" y="1050" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-134" source="TA6NM5vga4TUYUKUYXcC-24" target="TA6NM5vga4TUYUKUYXcC-27" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-26" value="Rock" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-134" vertex="1">
|
||||
<mxGeometry x="420" y="1050" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-29" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="lzB2u7mNdVftqM7OZ14K-134" source="TA6NM5vga4TUYUKUYXcC-24" target="TA6NM5vga4TUYUKUYXcC-26" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-146" value="" style="group;strokeColor=#d6b656;dashed=1;dashPattern=8 8;rounded=1;fillColor=#fff2cc;" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="-1490" y="-100" width="656.25" height="561.35" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-69" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-146" source="lzB2u7mNdVftqM7OZ14K-4" target="lzB2u7mNdVftqM7OZ14K-68" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-142" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-146" source="lzB2u7mNdVftqM7OZ14K-4" target="lzB2u7mNdVftqM7OZ14K-61" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-4" value="Client<br>- Получает данные игры<div>- отправляет инпут игрока</div><div>- Рисует все</div><div>- всегда сетевой</div><div><br></div><div>JoinRoom(string ip) - попытка подключиться к комнате<br></div><div><br></div><div>OnUpdate(<span style="background-color: initial;">IUpdateData</span><span style="background-color: initial;">)</span></div><div><br></div><div>GameEndedUnexpectedly() - хост пропал, игра закончилась</div>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-146" vertex="1">
|
||||
<mxGeometry x="380" width="276.25" height="249.77" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-61" value="<div>ClientNetworkManager</div><div><br></div><div>StartListening()</div><div>SendData() - отправка инпута игрока</div>" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-146" vertex="1">
|
||||
<mxGeometry x="436.8800000000001" y="442.2660305343511" width="162.5" height="119.08396946564885" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-68" value="Листы<div>Tiles - только отрисовка<br><div>Walls - только отрисовка, но поверх тайлов</div><div>Entities - у них обнова аниматора</div></div>" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;strokeColor=default;" parent="lzB2u7mNdVftqM7OZ14K-146" vertex="1">
|
||||
<mxGeometry y="49.76709923664123" width="150" height="148.85496183206106" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-150" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="lzB2u7mNdVftqM7OZ14K-25" target="lzB2u7mNdVftqM7OZ14K-148" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="-1150" y="1430" as="targetPoint" />
|
||||
<Array as="points">
|
||||
<mxPoint x="-720" y="1334" />
|
||||
<mxPoint x="-720" y="1475" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-155" value="" style="group;rounded=1;strokeColor=#b85450;dashed=1;dashPattern=8 8;fillColor=#f8cecc;gradientColor=#ea6b66;" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="-1670" y="1210" width="630" height="370" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-147" value="AnimationContainer" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-155" vertex="1">
|
||||
<mxGeometry x="410" y="20" width="220" height="130" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-152" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;shape=link;" parent="lzB2u7mNdVftqM7OZ14K-155" source="lzB2u7mNdVftqM7OZ14K-148" target="lzB2u7mNdVftqM7OZ14K-149" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-148" value="GraphicsComponent<div><br></div><div>StartAnimation()<span style="color: rgba(0, 0, 0, 0); font-family: monospace; font-size: 0px; text-align: start; text-wrap: nowrap; background-color: initial;">%3CmxGraphModel%3E%3Croot%3E%3CmxCell%20id%3D%220%22%2F%3E%3CmxCell%20id%3D%221%22%20parent%3D%220%22%2F%3E%3CmxCell%20id%3D%222%22%20value%3D%22AnimationContainer%22%20style%3D%22rounded%3D0%3BwhiteSpace%3Dwrap%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%221210%22%20y%3D%221280%22%20width%3D%22220%22%20height%3D%22130%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E</span></div><div>UpdateAnimation()</div><div><br></div><div>TODO перенести кусочек про зацикливание кода</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-155" vertex="1">
|
||||
<mxGeometry x="70" y="240" width="220" height="130" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-153" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;shape=link;" parent="lzB2u7mNdVftqM7OZ14K-155" source="lzB2u7mNdVftqM7OZ14K-149" target="lzB2u7mNdVftqM7OZ14K-147" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-149" value="AnimationBuilder<div><br></div><div>В начале загружает анимации, а затем распределяет анимации по контейнерам</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-155" vertex="1">
|
||||
<mxGeometry width="360" height="170" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-154" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.637;entryY=1.017;entryDx=0;entryDy=0;entryPerimeter=0;" parent="lzB2u7mNdVftqM7OZ14K-155" source="lzB2u7mNdVftqM7OZ14K-148" target="lzB2u7mNdVftqM7OZ14K-147" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="550" y="300" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-169" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;dashed=1;dashPattern=8 8;curved=1;" parent="1" source="lzB2u7mNdVftqM7OZ14K-4" target="lzB2u7mNdVftqM7OZ14K-90" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-170" value="Game Over<div>PlayerData.AddLoot()</div>" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="lzB2u7mNdVftqM7OZ14K-169" vertex="1" connectable="0">
|
||||
<mxGeometry x="-0.0087" y="2" relative="1" as="geometry">
|
||||
<mxPoint as="offset" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-172" value="InputManager<div><br></div><div>Здесь эвенты нажатий, на которые можно подписываться тем, кому надо</div>" style="rhombus;whiteSpace=wrap;html=1;fillColor=#6d8764;fontColor=#ffffff;strokeColor=#3A5431;" parent="1" vertex="1">
|
||||
<mxGeometry x="-1560" y="-1030" width="260" height="250" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-196" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=link;dashed=1;dashPattern=1 4;fillColor=#fff2cc;strokeColor=#d6b656;strokeWidth=8;" parent="1" source="lzB2u7mNdVftqM7OZ14K-61" target="lzB2u7mNdVftqM7OZ14K-46" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-30" value="" style="group;rounded=1;dashed=1;dashPattern=8 8;strokeColor=#6c8ebf;fillColor=#dae8fc;" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="-1150" y="-1530" width="370" height="410" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="TA6NM5vga4TUYUKUYXcC-30" source="TA6NM5vga4TUYUKUYXcC-1" target="TA6NM5vga4TUYUKUYXcC-2" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-1" value="ItemManager<div><br></div><div>Dictionary&lt;string, ItemInfo&gt; tagItemPairs - когда нужно получить инфу о текстуре, зная её таг, ищется это тут</div><div><br></div><div>ItemInfo GetItemInfo(string tag)</div><div><br><div>LoadResourcesTextures()</div></div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="TA6NM5vga4TUYUKUYXcC-30" vertex="1">
|
||||
<mxGeometry width="369" height="150" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="TA6NM5vga4TUYUKUYXcC-30" source="TA6NM5vga4TUYUKUYXcC-2" target="TA6NM5vga4TUYUKUYXcC-14" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-2" value="<div>ItemInfo</div><div><br></div><div>string tag</div><div>string TextureName</div><div>Texture2D Itemtexture</div><div>bool isCraftable</div><div>Dictionary&lt;string, int&gt; resourcesNeededToCraft()</div><div>LoadTexture()</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="TA6NM5vga4TUYUKUYXcC-30" vertex="1">
|
||||
<mxGeometry y="170" width="370" height="150" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-14" value="<div>WeaponItemInfo</div><div>float damage</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="TA6NM5vga4TUYUKUYXcC-30" vertex="1">
|
||||
<mxGeometry y="370" width="370" height="40" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-31" value="" style="group;strokeColor=#82b366;rounded=1;dashed=1;fillColor=#d5e8d4;gradientColor=#97d077;" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="-560" y="1750" width="380" height="670" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-187" value="LootData<div>Контейнер Лута для удобства использования</div><div><br></div><div><div>AddLoot(object lootObject, int quantity)&nbsp;</div></div><div>Dictionary&lt;string, int&gt; loots</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="TA6NM5vga4TUYUKUYXcC-31" vertex="1">
|
||||
<mxGeometry x="120" width="180" height="130" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="TA6NM5vga4TUYUKUYXcC-31" source="TA6NM5vga4TUYUKUYXcC-16" target="TA6NM5vga4TUYUKUYXcC-18" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="TA6NM5vga4TUYUKUYXcC-31" source="TA6NM5vga4TUYUKUYXcC-16" target="TA6NM5vga4TUYUKUYXcC-17" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="190.25" y="500" />
|
||||
<mxPoint x="70.25" y="500" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=flexArrow;" parent="TA6NM5vga4TUYUKUYXcC-31" source="TA6NM5vga4TUYUKUYXcC-16" target="TA6NM5vga4TUYUKUYXcC-19" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="190.25" y="500" />
|
||||
<mxPoint x="330.25" y="500" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-16" value="IPlayerWeapon<div>Attack()</div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="TA6NM5vga4TUYUKUYXcC-31" vertex="1">
|
||||
<mxGeometry x="130" y="400" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-17" value="HandAttack" style="rounded=0;whiteSpace=wrap;html=1;" parent="TA6NM5vga4TUYUKUYXcC-31" vertex="1">
|
||||
<mxGeometry y="610" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-18" value="SwordAttack" style="rounded=0;whiteSpace=wrap;html=1;" parent="TA6NM5vga4TUYUKUYXcC-31" vertex="1">
|
||||
<mxGeometry x="129.62" y="610" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-19" value="GunAttack" style="rounded=0;whiteSpace=wrap;html=1;" parent="TA6NM5vga4TUYUKUYXcC-31" vertex="1">
|
||||
<mxGeometry x="260" y="610" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-188" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="lzB2u7mNdVftqM7OZ14K-70" target="lzB2u7mNdVftqM7OZ14K-187" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="lzB2u7mNdVftqM7OZ14K-70" target="TA6NM5vga4TUYUKUYXcC-16" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="-60" y="2105" />
|
||||
<mxPoint x="-61" y="2180" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-32" value="" style="group;strokeColor=#6c8ebf;rounded=1;fillColor=#dae8fc;gradientColor=#7ea6e0;" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="540" y="130" width="640" height="800" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="TA6NM5vga4TUYUKUYXcC-32" source="lzB2u7mNdVftqM7OZ14K-6" target="lzB2u7mNdVftqM7OZ14K-16" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-30" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="TA6NM5vga4TUYUKUYXcC-32" source="lzB2u7mNdVftqM7OZ14K-6" target="lzB2u7mNdVftqM7OZ14K-27" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<mxPoint x="230" y="87.5" as="sourcePoint" />
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-6" value="<div>CollisionManager</div>Система физики<div>- апедейт позиций, проверив на коллизии</div><div>UpdatePositions()</div><div>GetObjectsInArea(Rectangle area)</div>" style="rhombus;whiteSpace=wrap;html=1;" parent="TA6NM5vga4TUYUKUYXcC-32" vertex="1">
|
||||
<mxGeometry width="230" height="175" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-15" value="<div><span style="background-color: initial;">ColliderComponent</span><br></div><div><span style="background-color: initial;">Entity myEntity</span></div><div><span style="background-color: initial;">- подключается к объекту</span><br></div><div>- регистрирует себя в CollisionManager</div><div>- Rectangle, который не дает на себя пройти</div><div><br></div><div>bool doesStop - является этот колайдера<br></div><div>Rectangle stopRectangle</div><div><br></div><div><br></div><div><div>bool isTrigger</div><div>Rectangle triggerRectangle</div><div><br></div><div>OnTriggerEnter&nbsp;<span style="background-color: initial;">- игрок вошел в область взаимодействия объекта</span></div><div>OnTriggerZone - вызывается пока игрок в области триггера</div><div>OnTriggerExit -<span style="background-color: initial;">&nbsp;игрок вышел из области взаимодействия объекта</span></div></div><div><span style="background-color: initial;"><br></span></div><div>На эти эвенты подписываются в вещах, типо лута и дверей. Человек пишет код этих вещей и что происходит, когда к ним кто-то подходит</div><div><br></div><div><br></div><div><br></div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="TA6NM5vga4TUYUKUYXcC-32" vertex="1">
|
||||
<mxGeometry x="270" y="352.5" width="280" height="437.5" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-175" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=link;" parent="TA6NM5vga4TUYUKUYXcC-32" source="lzB2u7mNdVftqM7OZ14K-16" target="lzB2u7mNdVftqM7OZ14K-15" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="340" y="330" />
|
||||
<mxPoint x="340" y="330" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-16" value="Лист&nbsp;<div><span style="background-color: initial;">CollisionComponent</span></div>" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;" parent="TA6NM5vga4TUYUKUYXcC-32" vertex="1">
|
||||
<mxGeometry x="260" y="168.75" width="160" height="35" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-24" value="Это подключается в<div>игроке, на стенах</div><div>на врагах</div>" style="rounded=1;whiteSpace=wrap;html=1;" parent="TA6NM5vga4TUYUKUYXcC-32" vertex="1">
|
||||
<mxGeometry x="490" y="740" width="120" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-176" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;shape=link;" parent="TA6NM5vga4TUYUKUYXcC-32" source="lzB2u7mNdVftqM7OZ14K-27" target="lzB2u7mNdVftqM7OZ14K-15" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="525" y="310" />
|
||||
<mxPoint x="525" y="310" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-27" value="Лист&nbsp;<div><span style="background-color: initial;">TriggerComponent</span></div>" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;" parent="TA6NM5vga4TUYUKUYXcC-32" vertex="1">
|
||||
<mxGeometry x="450" y="168.75" width="140" height="35" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-174" value="Разнести на два компонента?" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;" parent="TA6NM5vga4TUYUKUYXcC-32" vertex="1">
|
||||
<mxGeometry x="500" y="310" width="140" height="90" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-34" value="" style="group;fillColor=#ffcccc;strokeColor=#36393d;rounded=1;" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="-620" y="-950" width="380" height="510" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-2" value="App manager<div><br><div>- большая стейт машина, каждый стейт - экран (менюшки+игра)</div><div><br></div><div><br></div><div>AbstractGUI currentGUI - текущий гуи, который мы рисуем</div><div><br></div><div>ChangeGUI()</div><div><br></div><div>Update() - Обновлять по стейту</div><div><span style="background-color: initial;">currentGUI</span><span style="background-color: initial;">.Update()</span></div><div>GameEnded(Loot)</div></div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="TA6NM5vga4TUYUKUYXcC-34" vertex="1">
|
||||
<mxGeometry width="380" height="310" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-119" value="" style="group;strokeColor=default;dashed=1;dashPattern=8 8;rounded=1;" parent="TA6NM5vga4TUYUKUYXcC-34" vertex="1" connectable="0">
|
||||
<mxGeometry y="340" width="380" height="170" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-114" value="Наша Стейт Машина<div>NotPlaying<div>HostPlaying</div><div>ClientPlaying</div></div>" style="rounded=1;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-119" vertex="1">
|
||||
<mxGeometry x="129.99999999999994" width="119.99999999999996" height="100" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-115" value="NotPlaying<div>GUI.update()</div>" style="rounded=1;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-119" vertex="1">
|
||||
<mxGeometry y="110" width="119.99999999999996" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-116" value="HostPlaying<div>GUI.update()</div><div>Server.update()<br></div><div>client.update()<br></div>" style="rounded=1;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-119" vertex="1">
|
||||
<mxGeometry x="129.99999999999994" y="110" width="119.99999999999996" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-117" value="<br><div><div>ClientPlaying</div><div>GUI.update()</div><div>client.update()</div></div>" style="rounded=1;whiteSpace=wrap;html=1;" parent="lzB2u7mNdVftqM7OZ14K-119" vertex="1">
|
||||
<mxGeometry x="259.9999999999999" y="110" width="119.99999999999996" height="60" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="TA6NM5vga4TUYUKUYXcC-35" value="" style="group;fillColor=#fff2cc;strokeColor=#d6b656;rounded=1;dashed=1;" parent="1" vertex="1" connectable="0">
|
||||
<mxGeometry x="-440" y="240" width="190" height="323" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-51" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="TA6NM5vga4TUYUKUYXcC-35" source="lzB2u7mNdVftqM7OZ14K-46" target="lzB2u7mNdVftqM7OZ14K-49" edge="1">
|
||||
<mxGeometry relative="1" as="geometry">
|
||||
<Array as="points">
|
||||
<mxPoint x="95" y="311" />
|
||||
</Array>
|
||||
</mxGeometry>
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-46" value="<div>ServerNetworkManager</div><div>StartWaitingForPlayers() - Слушает игроков, которые хотят подключиться</div><div><br></div><div>StartListening() - начать слушать клиентов в самой игре</div><div><br></div><div>SendData() - каждый тик</div><div>AddData(<span style="background-color: initial;">IUpdateData</span><span style="background-color: initial;">)</span></div>" style="rounded=0;whiteSpace=wrap;html=1;" parent="TA6NM5vga4TUYUKUYXcC-35" vertex="1">
|
||||
<mxGeometry width="190" height="170" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-49" value="Лист Updates" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;" parent="TA6NM5vga4TUYUKUYXcC-35" vertex="1">
|
||||
<mxGeometry x="55" y="298" width="80" height="25" as="geometry" />
|
||||
</mxCell>
|
||||
<mxCell id="lzB2u7mNdVftqM7OZ14K-79" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="lzB2u7mNdVftqM7OZ14K-25" target="lzB2u7mNdVftqM7OZ14K-15" edge="1">
|
||||
<mxGeometry relative="1" as="geometry" />
|
||||
</mxCell>
|
||||
</root>
|
||||
</mxGraphModel>
|
||||
</diagram>
|
||||
</mxfile>
|
|
@ -40,8 +40,8 @@
|
|||
#begin MapData/TileMaps/main.tmx
|
||||
/copy:MapData/TileMaps/main.tmx
|
||||
|
||||
#begin MapData/TileSets/TileSet 1.tsj
|
||||
/copy:MapData/TileSets/TileSet 1.tsj
|
||||
#begin MapData/TileSets/CollisionTileSet.tsj
|
||||
/copy:MapData/TileSets/CollisionTileSet.tsj
|
||||
|
||||
#begin sounds/Loot.wav
|
||||
/importer:WavImporter
|
||||
|
@ -85,17 +85,23 @@
|
|||
/processorParam:Quality=Best
|
||||
/build:sounds/Zombi stoit.wav
|
||||
|
||||
#begin Textures/AnimationTextures/Character/hr-level1_idle.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
/processorParam:ColorKeyColor=255,0,255,255
|
||||
/processorParam:ColorKeyEnabled=True
|
||||
/processorParam:GenerateMipmaps=False
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:ResizeToPowerOfTwo=False
|
||||
/processorParam:MakeSquare=False
|
||||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/AnimationTextures/Character/hr-level1_idle.png
|
||||
#begin Textures/Animations/player_idle_rotate_weapon.animation
|
||||
/copy:Textures/Animations/player_idle_rotate_weapon.animation
|
||||
|
||||
#begin Textures/Animations/player_idle_top_noweapon.animation
|
||||
/copy:Textures/Animations/player_idle_top_noweapon.animation
|
||||
|
||||
#begin Textures/Animations/player_idle_top-right_noweapon.animation
|
||||
/copy:Textures/Animations/player_idle_top-right_noweapon.animation
|
||||
|
||||
#begin Textures/Animations/player_running_top_rotate.animation
|
||||
/copy:Textures/Animations/player_running_top_rotate.animation
|
||||
|
||||
#begin Textures/Animations/running_top.animation
|
||||
/copy:Textures/Animations/running_top.animation
|
||||
|
||||
#begin Textures/Animations/testAnimationExample.animation
|
||||
/copy:Textures/Animations/testAnimationExample.animation
|
||||
|
||||
#begin Textures/AnimationTextures/Character/hr-level1_idle_gun.png
|
||||
/importer:TextureImporter
|
||||
|
@ -109,6 +115,18 @@
|
|||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/AnimationTextures/Character/hr-level1_idle_gun.png
|
||||
|
||||
#begin Textures/AnimationTextures/Character/hr-level1_idle.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
/processorParam:ColorKeyColor=255,0,255,255
|
||||
/processorParam:ColorKeyEnabled=True
|
||||
/processorParam:GenerateMipmaps=False
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:ResizeToPowerOfTwo=False
|
||||
/processorParam:MakeSquare=False
|
||||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/AnimationTextures/Character/hr-level1_idle.png
|
||||
|
||||
#begin Textures/AnimationTextures/Character/hr-level1_mining_tool-1.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
|
@ -133,18 +151,6 @@
|
|||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/AnimationTextures/Character/hr-level1_mining_tool-2.png
|
||||
|
||||
#begin Textures/AnimationTextures/Character/hr-level1_running.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
/processorParam:ColorKeyColor=255,0,255,255
|
||||
/processorParam:ColorKeyEnabled=True
|
||||
/processorParam:GenerateMipmaps=False
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:ResizeToPowerOfTwo=False
|
||||
/processorParam:MakeSquare=False
|
||||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/AnimationTextures/Character/hr-level1_running.png
|
||||
|
||||
#begin Textures/AnimationTextures/Character/hr-level1_running_gun.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
|
@ -157,6 +163,18 @@
|
|||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/AnimationTextures/Character/hr-level1_running_gun.png
|
||||
|
||||
#begin Textures/AnimationTextures/Character/hr-level1_running.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
/processorParam:ColorKeyColor=255,0,255,255
|
||||
/processorParam:ColorKeyEnabled=True
|
||||
/processorParam:GenerateMipmaps=False
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:ResizeToPowerOfTwo=False
|
||||
/processorParam:MakeSquare=False
|
||||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/AnimationTextures/Character/hr-level1_running.png
|
||||
|
||||
#begin Textures/AnimationTextures/unicorn.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
|
@ -253,18 +271,6 @@
|
|||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/GUI/background/waiting.png
|
||||
|
||||
#begin Textures/GUI/checkboxs_off.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
/processorParam:ColorKeyColor=255,0,255,255
|
||||
/processorParam:ColorKeyEnabled=True
|
||||
/processorParam:GenerateMipmaps=False
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:ResizeToPowerOfTwo=False
|
||||
/processorParam:MakeSquare=False
|
||||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/GUI/checkboxs_off.png
|
||||
|
||||
#begin Textures/GUI/checkboxs_off-on.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
|
@ -277,6 +283,18 @@
|
|||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/GUI/checkboxs_off-on.png
|
||||
|
||||
#begin Textures/GUI/checkboxs_off.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
/processorParam:ColorKeyColor=255,0,255,255
|
||||
/processorParam:ColorKeyEnabled=True
|
||||
/processorParam:GenerateMipmaps=False
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:ResizeToPowerOfTwo=False
|
||||
/processorParam:MakeSquare=False
|
||||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/GUI/checkboxs_off.png
|
||||
|
||||
#begin Textures/GUI/checkboxs_on.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
|
@ -313,18 +331,6 @@
|
|||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/GUI/mouse.png
|
||||
|
||||
#begin Textures/GUI/switch.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
/processorParam:ColorKeyColor=255,0,255,255
|
||||
/processorParam:ColorKeyEnabled=True
|
||||
/processorParam:GenerateMipmaps=False
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:ResizeToPowerOfTwo=False
|
||||
/processorParam:MakeSquare=False
|
||||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/GUI/switch.png
|
||||
|
||||
#begin Textures/GUI/Switch_backgrownd.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
|
@ -337,6 +343,18 @@
|
|||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/GUI/Switch_backgrownd.png
|
||||
|
||||
#begin Textures/GUI/switch.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
/processorParam:ColorKeyColor=255,0,255,255
|
||||
/processorParam:ColorKeyEnabled=True
|
||||
/processorParam:GenerateMipmaps=False
|
||||
/processorParam:PremultiplyAlpha=True
|
||||
/processorParam:ResizeToPowerOfTwo=False
|
||||
/processorParam:MakeSquare=False
|
||||
/processorParam:TextureFormat=Color
|
||||
/build:Textures/GUI/switch.png
|
||||
|
||||
#begin Textures/TileSetImages/TilesetFloor.png
|
||||
/importer:TextureImporter
|
||||
/processor:TextureProcessor
|
||||
|
|
|
@ -11,7 +11,7 @@ using ZoFo.GameCore.GameManagers.MapManager.MapElements;
|
|||
using ZoFo.GameCore.GameObjects.Entities;
|
||||
using ZoFo.GameCore.GameObjects.Entities.LivingEntities;
|
||||
using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient;
|
||||
using ZoFo.GameCore.ZoFo_graphics;
|
||||
using ZoFo.GameCore.Graphics;
|
||||
|
||||
namespace ZoFo.GameCore.GameManagers.CollisionManager
|
||||
{
|
||||
|
|
|
@ -75,7 +75,7 @@ namespace ZoFo.GameCore.GameManagers.MapManager
|
|||
case "StopObject":
|
||||
var collisionRectangles = LoadRectangles(tile); // Грузит коллизии обьектов
|
||||
AppManager.Instance.server.RegisterGameObject(new StopObject(position, new Vector2(tileSet.TileWidth, tileSet.TileHeight),
|
||||
sourceRectangle, "Textures/TileSetImages/" + Path.GetFileName(tileSet.Image).Replace(".png", "")));
|
||||
sourceRectangle, "Textures/TileSetImages/" + Path.GetFileName(tileSet.Image).Replace(".png", ""), collisionRectangles.ToArray()));
|
||||
// TODO: изменить конструктор, засунув коллизии.
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -6,7 +6,7 @@ using ZoFo.GameCore.GameManagers;
|
|||
using ZoFo.GameCore.GameManagers.CollisionManager;
|
||||
using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ClientToServer;
|
||||
using ZoFo.GameCore.GameManagers.NetworkManager.Updates.ServerToClient;
|
||||
using ZoFo.GameCore.ZoFo_graphics;
|
||||
using ZoFo.GameCore.Graphics;
|
||||
|
||||
namespace ZoFo.GameCore.GameObjects.Entities.LivingEntities.Player;
|
||||
|
||||
|
|
|
@ -7,10 +7,10 @@ namespace ZoFo.GameCore.GameObjects.MapObjects.StopObjects;
|
|||
|
||||
public class StopObject : MapObject
|
||||
{
|
||||
CollisionComponent[] collisionComponent;
|
||||
CollisionComponent[] collisionComponent;
|
||||
|
||||
|
||||
protected StopObject(Vector2 position, Vector2 size, Rectangle sourceRectangle, string textureName, Rectangle[] collisions) : base(position, size, s
|
||||
public StopObject(Vector2 position, Vector2 size, Rectangle sourceRectangle, string textureName, Rectangle[] collisions) : base(position, size, sourceRectangle, textureName)
|
||||
{
|
||||
collisionComponent = new CollisionComponent[collisions.Length];
|
||||
for (int i = 0; i < collisionComponent.Length; i++)
|
||||
|
|
Loading…
Add table
Reference in a new issue