diff options
-rw-r--r-- | design.tex | 91 | ||||
-rw-r--r-- | figs.drawio | 704 | ||||
-rw-r--r-- | img/JetpackJoyride.jpg | bin | 0 -> 295103 bytes | |||
-rw-r--r-- | notulen/wk9-1.txt | 54 | ||||
-rw-r--r-- | sources.bib | 18 | ||||
-rw-r--r-- | time.txt | 10 |
6 files changed, 644 insertions, 233 deletions
@@ -24,9 +24,94 @@ workflows. \section{Overview} -% TODO: high-level design introduction -% - which parts of the design are prerequisites (and therefore not designed by us) -% - why are all parts in the following section arranged in the way they are +As described above, the cr\^epe game engine's goal is to offer a Unity-like +experience tailored for developing 2D games similar to Jetpack Joyride. That is why +Jetpack Joyride and Unity provided the main inputs for this game engine design. +Firstly, a quick overview will be given of the Unity game engine, in particular the +\gls{ecs}. Secondly, this Overview will quickly talk you through some of the most +important parts of the game engine, and why these parts are needed to create the +Jetpack Joyride game. + +\subsection{ECS} + +The Unity game engine is structured using the Entity Component System (\gls{ecs}) (as +shown in \cref{fig:ecs-block-diagram}). The \gls{ecs} is made out of three main +subsystems, namely entities, components and systems. Entities are just IDs. An entity +is also called a GameObject in Unity and it is made out of one (or more) components. +Components are the classes that hold the data. The components determine what kind of +entity it is (e.g. an enemy, audio, and so on). Systems take care of the behavior of +the entities. Systems mainly read and write the enity's components data. The +\gls{ecs} clearly distinguishes the data (components) from the functionality +(systems). + +\begin{figure} + \centering + \includegraphics[width=0.5\textwidth]{img/ECSBlockDiagram.png} + \caption{ECS design pattern} + Source: \autocite{img:ecs-block-diag} + \label{fig:ecs-block-diagram} +\end{figure} + +The \gls{ecs} will also be used at the cr\^epe game engine. Everything (from the +protagonist and bullets to the walls and enemies) in the cr\^epe game engine will be +a GameObject (i.e.~entity). The game programmer must program his game by creating all +kind of GameObjects and placing them in one (or multiple) scenes, just like Unity. + +\subsection{Jetpack Joyride} + +Firstly, some background information about Jetpack Joyride. Jetpack Joyride is a +side-scrolling endless runner action video game created by Halfbrick Studios. The +protagonist is called Barry Steakfries, who the player controls as he steals a +bullet-powered jet pack from a top-secret laboratory +\autocite{wikipedia:jetpack-joyride}. A screenshot from the game can be seen in +\cref{fig:jetpack-joyride} (pleae be aware that the goal of this project is not to +create an exact replica of Jetpack Joyride, it is only used as a source of +inspiration). + +\begin{figure} + \centering + \includegraphics[width=0.5\textwidth]{img/JetpackJoyride.jpg} + \caption{Jetpack Joyride} + Source: \autocite{img:jetpack-joyride} + \label{fig:jetpack-joyride} +\end{figure} + +The protagonist wears a jetpack with which he can float in the air. The player must +avoid obstacles (such as lasers, missiles and zappers) by floating at the right +height. The player can control the protagonist's jetpack, thereby also controlling +the protagonist's height. The protagonist experiences gravity and other forces (like +the force from his jetpack pushing him upwards). These forces should be easily +programmable by the game programmer. That is why a physics system is needed in the +cr\^epe game engine. Only very limited/easy physics are needed for Jetpack Joyride, +that is why this is only supported by the cr\^epe game engine. + +The protagonist must avoid obstacles. That is why the cr\^epe game engine should also +support a collision system. Again, only very limited/easy collision is needed for +Jetpack Joyride, that is why only very limited/easy collision is supported by the +cr\^epe game engine. + +The game must, of course, also be visible to and playable by the user. A rendering +system will take care of rendering (displaying) the game and its GameObjects. An +input system will take care of all the inputs (mouse and keyboard). + +Jetpack Joyride also offers audio. A system will take care of the audio in the +cr\^epe game engine. + +Particles are very common in Jetpack Joyride, e.g. underneath the jetpack and behind +the rockets. Particles will be supported by the particle system. + +The start of a scene is described in a scene. However, the game programmer might also +want to write game logic code which is running during the game (e.g. to switch to a +new scene or to perform a custom action at a collision). For these purposes, Unity +uses scripts. These scripts will also be supported by the cr\^epe game engine. + +Finally, as an extra, replay functionality will be supported by the cr\^epe game +engine. A dedicated replay system will be used to support replay. + +It turns out that a physics, collision, rendering, input, audio, particle, script, +and replay system are needed to create the Jetpack Joyride game. These systems form +the main part of the \gls{ecs}. The design of these eight systems in combination with +\gls{ecs}, will be briefly discussed in the next parts of this design document. \section{Design} diff --git a/figs.drawio b/figs.drawio index e385c5e..3dec3aa 100644 --- a/figs.drawio +++ b/figs.drawio @@ -1,6 +1,6 @@ -<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.7.17 Chrome/128.0.6613.36 Electron/32.0.1 Safari/537.36" version="24.7.17" pages="7"> +<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.7.17 Chrome/128.0.6613.36 Electron/32.0.1 Safari/537.36" version="24.7.17" pages="10"> <diagram id="ehgrrEZq6aIl9GSG0JpL" name="Main"> - <mxGraphModel dx="1368" dy="838" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="3300" pageHeight="2339" math="0" shadow="0"> + <mxGraphModel dx="1793" dy="883" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="3300" pageHeight="2339" math="0" shadow="0"> <root> <mxCell id="0" /> <mxCell id="1" parent="0" /> @@ -135,22 +135,22 @@ <mxCell id="5-8bWhzpOWirDYeo3-Cj-77" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="5-8bWhzpOWirDYeo3-Cj-74" vertex="1"> <mxGeometry y="51" width="160" height="17" as="geometry" /> </mxCell> - <mxCell id="5-8bWhzpOWirDYeo3-Cj-78" value="Point" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;direction=east;" parent="1" vertex="1"> - <mxGeometry x="320" y="1172" width="160" height="85" as="geometry"> + <mxCell id="5-8bWhzpOWirDYeo3-Cj-78" value="<<Struct>>
Vector2" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=40;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;direction=east;" parent="1" vertex="1"> + <mxGeometry x="320" y="1150" width="160" height="107" as="geometry"> <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" /> </mxGeometry> </mxCell> - <mxCell id="5-8bWhzpOWirDYeo3-Cj-79" value="+x : int" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="5-8bWhzpOWirDYeo3-Cj-78" vertex="1"> - <mxGeometry y="26" width="160" height="17" as="geometry" /> + <mxCell id="5-8bWhzpOWirDYeo3-Cj-79" value="+x : <T>" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="5-8bWhzpOWirDYeo3-Cj-78" vertex="1"> + <mxGeometry y="40" width="160" height="17" as="geometry" /> </mxCell> - <mxCell id="ZHgyX9xX1EySbdOx-EKd-69" value="+y : int" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="5-8bWhzpOWirDYeo3-Cj-78" vertex="1"> - <mxGeometry y="43" width="160" height="17" as="geometry" /> + <mxCell id="ZHgyX9xX1EySbdOx-EKd-69" value="+y : <T>" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="5-8bWhzpOWirDYeo3-Cj-78" vertex="1"> + <mxGeometry y="57" width="160" height="17" as="geometry" /> </mxCell> <mxCell id="5-8bWhzpOWirDYeo3-Cj-80" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=1;labelPosition=right;points=[];portConstraint=eastwest;fontSize=12;perimeterSpacing=0;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;verticalLabelPosition=middle;" parent="5-8bWhzpOWirDYeo3-Cj-78" vertex="1"> - <mxGeometry y="60" width="160" height="8" as="geometry" /> + <mxGeometry y="74" width="160" height="8" as="geometry" /> </mxCell> <mxCell id="5-8bWhzpOWirDYeo3-Cj-81" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="5-8bWhzpOWirDYeo3-Cj-78" vertex="1"> - <mxGeometry y="68" width="160" height="17" as="geometry" /> + <mxGeometry y="82" width="160" height="17" as="geometry" /> </mxCell> <mxCell id="5-8bWhzpOWirDYeo3-Cj-82" value="Debug" style="shape=folder;fontStyle=1;spacingTop=10;tabWidth=40;tabHeight=14;tabPosition=left;html=1;whiteSpace=wrap;" parent="1" vertex="1"> <mxGeometry x="320" y="1082" width="70" height="40" as="geometry" /> @@ -206,10 +206,10 @@ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" /> </mxGeometry> </mxCell> - <mxCell id="5-8bWhzpOWirDYeo3-Cj-98" value="+radius" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="5-8bWhzpOWirDYeo3-Cj-97" vertex="1"> + <mxCell id="5-8bWhzpOWirDYeo3-Cj-98" value="+radius : double" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="5-8bWhzpOWirDYeo3-Cj-97" vertex="1"> <mxGeometry y="26" width="160" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-30" value="+position" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="5-8bWhzpOWirDYeo3-Cj-97" vertex="1"> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-30" value="+position : Vector2" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="5-8bWhzpOWirDYeo3-Cj-97" vertex="1"> <mxGeometry y="43" width="160" height="17" as="geometry" /> </mxCell> <mxCell id="5-8bWhzpOWirDYeo3-Cj-99" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=1;labelPosition=right;points=[];portConstraint=eastwest;fontSize=12;perimeterSpacing=0;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;verticalLabelPosition=middle;" parent="5-8bWhzpOWirDYeo3-Cj-97" vertex="1"> @@ -223,13 +223,13 @@ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" /> </mxGeometry> </mxCell> - <mxCell id="5-8bWhzpOWirDYeo3-Cj-102" value="+width" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="5-8bWhzpOWirDYeo3-Cj-101" vertex="1"> + <mxCell id="5-8bWhzpOWirDYeo3-Cj-102" value="+width : double" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="5-8bWhzpOWirDYeo3-Cj-101" vertex="1"> <mxGeometry y="26" width="160" height="17" as="geometry" /> </mxCell> - <mxCell id="5-8bWhzpOWirDYeo3-Cj-103" value="+height" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="5-8bWhzpOWirDYeo3-Cj-101" vertex="1"> + <mxCell id="5-8bWhzpOWirDYeo3-Cj-103" value="+height : double" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="5-8bWhzpOWirDYeo3-Cj-101" vertex="1"> <mxGeometry y="43" width="160" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-31" value="+position" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="5-8bWhzpOWirDYeo3-Cj-101" vertex="1"> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-31" value="+position : Vector2" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="5-8bWhzpOWirDYeo3-Cj-101" vertex="1"> <mxGeometry y="60" width="160" height="17" as="geometry" /> </mxCell> <mxCell id="5-8bWhzpOWirDYeo3-Cj-104" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=1;labelPosition=right;points=[];portConstraint=eastwest;fontSize=12;perimeterSpacing=0;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;verticalLabelPosition=middle;" parent="5-8bWhzpOWirDYeo3-Cj-101" vertex="1"> @@ -259,60 +259,57 @@ <mxGeometry y="85" width="200" height="17" as="geometry" /> </mxCell> <mxCell id="5-8bWhzpOWirDYeo3-Cj-111" value="Rigidbody" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;direction=east;" parent="1" vertex="1"> - <mxGeometry x="1370" y="341" width="160" height="306" as="geometry"> + <mxGeometry x="1290" y="341" width="240" height="289" as="geometry"> <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" /> </mxGeometry> </mxCell> - <mxCell id="5-8bWhzpOWirDYeo3-Cj-112" value="+mass" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> - <mxGeometry y="26" width="160" height="17" as="geometry" /> + <mxCell id="5-8bWhzpOWirDYeo3-Cj-112" value="+mass : double" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> + <mxGeometry y="26" width="240" height="17" as="geometry" /> </mxCell> - <mxCell id="5-8bWhzpOWirDYeo3-Cj-113" value="+gravityScale" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> - <mxGeometry y="43" width="160" height="17" as="geometry" /> + <mxCell id="5-8bWhzpOWirDYeo3-Cj-113" value="+gravityScale : double" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> + <mxGeometry y="43" width="240" height="17" as="geometry" /> </mxCell> - <mxCell id="5-8bWhzpOWirDYeo3-Cj-114" value="+bodyType" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> - <mxGeometry y="60" width="160" height="17" as="geometry" /> + <mxCell id="5-8bWhzpOWirDYeo3-Cj-114" value="+bodyType : BodyType" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> + <mxGeometry y="60" width="240" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-4" value="+angularDamping" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> - <mxGeometry y="77" width="160" height="17" as="geometry" /> - </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-3" value="+angularVelocity" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> - <mxGeometry y="94" width="160" height="17" as="geometry" /> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-4" value="+angularDamping : double" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> + <mxGeometry y="77" width="240" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-2" value="+collisionDetectionMode" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> - <mxGeometry y="111" width="160" height="17" as="geometry" /> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-3" value="+angularVelocity : double" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> + <mxGeometry y="94" width="240" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-1" value="+constraints" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> - <mxGeometry y="128" width="160" height="17" as="geometry" /> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-2" value="+collisionDetectionMode : DetectionMode" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> + <mxGeometry y="111" width="240" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-9" value="+detectCollisions " style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> - <mxGeometry y="145" width="160" height="17" as="geometry" /> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-1" value="+constraints : PhysicsConstraints" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> + <mxGeometry y="128" width="240" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-8" value="+includedCollisionLayers" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> - <mxGeometry y="162" width="160" height="17" as="geometry" /> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-9" value="+detectCollisions : bool" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> + <mxGeometry y="145" width="240" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-7" value="+excludedCollisionLayers" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> - <mxGeometry y="179" width="160" height="17" as="geometry" /> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-8" value="+includedCollisionLayers : Vector<int>" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> + <mxGeometry y="162" width="240" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-6" value="+linearDamping" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> - <mxGeometry y="196" width="160" height="17" as="geometry" /> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-6" value="+linearDamping : Vector2" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> + <mxGeometry y="179" width="240" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-5" value="+linearVelocity" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> - <mxGeometry y="213" width="160" height="17" as="geometry" /> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-5" value="+linearVelocity : Vector2" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> + <mxGeometry y="196" width="240" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-12" value="+maxAngularVelocity" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> - <mxGeometry y="230" width="160" height="17" as="geometry" /> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-12" value="+maxAngularVelocity : Vector2" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> + <mxGeometry y="213" width="240" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-11" value="+maxLinearVelocity" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> - <mxGeometry y="247" width="160" height="17" as="geometry" /> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-11" value="+maxLinearVelocity : Vector2" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> + <mxGeometry y="230" width="240" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-13" value="+useGravity" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> - <mxGeometry y="264" width="160" height="17" as="geometry" /> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-13" value="+useGravity : bool" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000ff;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> + <mxGeometry y="247" width="240" height="17" as="geometry" /> </mxCell> <mxCell id="5-8bWhzpOWirDYeo3-Cj-115" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=1;labelPosition=right;points=[];portConstraint=eastwest;fontSize=12;perimeterSpacing=0;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;verticalLabelPosition=middle;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> - <mxGeometry y="281" width="160" height="8" as="geometry" /> + <mxGeometry y="264" width="240" height="8" as="geometry" /> </mxCell> <mxCell id="5-8bWhzpOWirDYeo3-Cj-116" value="+get_instances_max() : int" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="5-8bWhzpOWirDYeo3-Cj-111" vertex="1"> - <mxGeometry y="289" width="160" height="17" as="geometry" /> + <mxGeometry y="272" width="240" height="17" as="geometry" /> </mxCell> <mxCell id="5-8bWhzpOWirDYeo3-Cj-117" value="BehaviorScript" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;direction=east;" parent="1" vertex="1"> <mxGeometry x="1520" y="663" width="160" height="85" as="geometry"> @@ -332,7 +329,7 @@ <mxGeometry y="68" width="160" height="17" as="geometry" /> </mxCell> <mxCell id="5-8bWhzpOWirDYeo3-Cj-122" value="Sprite" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;direction=east;" parent="1" vertex="1"> - <mxGeometry x="1710" y="500" width="160" height="170" as="geometry"> + <mxGeometry x="1710" y="500" width="160" height="136" as="geometry"> <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" /> </mxGeometry> </mxCell> @@ -475,25 +472,6 @@ <mxPoint x="-16" y="-32" as="offset" /> </mxGeometry> </mxCell> - <mxCell id="5-8bWhzpOWirDYeo3-Cj-150" value="" style="endArrow=open;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;edgeStyle=orthogonalEdgeStyle;" parent="1" source="5-8bWhzpOWirDYeo3-Cj-131" target="5-8bWhzpOWirDYeo3-Cj-122" edge="1"> - <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="1830" y="784.38" as="sourcePoint" /> - <mxPoint x="2090" y="785" as="targetPoint" /> - <Array as="points"> - <mxPoint x="1950" y="577" /> - </Array> - </mxGeometry> - </mxCell> - <mxCell id="5-8bWhzpOWirDYeo3-Cj-151" value="0..1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="5-8bWhzpOWirDYeo3-Cj-150" vertex="1" connectable="0"> - <mxGeometry x="-0.7119" y="-1" relative="1" as="geometry"> - <mxPoint x="-21" y="14" as="offset" /> - </mxGeometry> - </mxCell> - <mxCell id="5-8bWhzpOWirDYeo3-Cj-152" value="1..*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="5-8bWhzpOWirDYeo3-Cj-150" vertex="1" connectable="0"> - <mxGeometry x="0.6214" y="-1" relative="1" as="geometry"> - <mxPoint x="3" y="14" as="offset" /> - </mxGeometry> - </mxCell> <mxCell id="5-8bWhzpOWirDYeo3-Cj-153" value="" style="endArrow=block;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;strokeWidth=1;endSize=14;edgeStyle=orthogonalEdgeStyle;" parent="1" target="5-8bWhzpOWirDYeo3-Cj-106" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="866.0434782608697" y="560" as="sourcePoint" /> @@ -647,68 +625,74 @@ </mxGeometry> </mxCell> <mxCell id="V-ZVI1K5bxIVrfWjpJuH-1" value="ParticleEmitter" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;direction=east;strokeColor=#0000FF;fontColor=#0000FF;" parent="1" vertex="1"> - <mxGeometry x="2290" y="545" width="160" height="187" as="geometry"> + <mxGeometry x="2290" y="545" width="390" height="221" as="geometry"> <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" /> </mxGeometry> </mxCell> - <mxCell id="V-ZVI1K5bxIVrfWjpJuH-13" value="+position" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-1" vertex="1"> - <mxGeometry y="26" width="160" height="17" as="geometry" /> + <mxCell id="V-ZVI1K5bxIVrfWjpJuH-13" value="+position : Vector2" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-1" vertex="1"> + <mxGeometry y="26" width="390" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-17" value="+maxParticles" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-1" vertex="1"> - <mxGeometry y="43" width="160" height="17" as="geometry" /> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-17" value="+maxParticles : uint32_t" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-1" vertex="1"> + <mxGeometry y="43" width="390" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-16" value="+emissionRate" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-1" vertex="1"> - <mxGeometry y="60" width="160" height="17" as="geometry" /> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-16" value="+emissionRate : uint32_t" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-1" vertex="1"> + <mxGeometry y="60" width="390" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-15" value="+speed" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-1" vertex="1"> - <mxGeometry y="77" width="160" height="17" as="geometry" /> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-15" value="+minSpeed : Vector2" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-1" vertex="1"> + <mxGeometry y="77" width="390" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-20" value="+speedOffset" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-1" vertex="1"> - <mxGeometry y="94" width="160" height="17" as="geometry" /> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-20" value="+maxSpeed : Vector2" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-1" vertex="1"> + <mxGeometry y="94" width="390" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-19" value="+angle" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-1" vertex="1"> - <mxGeometry y="111" width="160" height="17" as="geometry" /> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-19" value="+minAngle : double" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-1" vertex="1"> + <mxGeometry y="111" width="390" height="17" as="geometry" /> + </mxCell> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-18" value="+maxAngle : double" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-1" vertex="1"> + <mxGeometry y="128" width="390" height="17" as="geometry" /> + </mxCell> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-22" value="+endLifespan : double" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-1" vertex="1"> + <mxGeometry y="145" width="390" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-18" value="+angleOffset" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-1" vertex="1"> - <mxGeometry y="128" width="160" height="17" as="geometry" /> + <mxCell id="YKgVrhEJGfdfAljirImL-1" value="+forceOvertime : Vector2" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-1" vertex="1"> + <mxGeometry y="162" width="390" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-22" value="+endLifespan" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-1" vertex="1"> - <mxGeometry y="145" width="160" height="17" as="geometry" /> + <mxCell id="iLlbnCJIxoT-n0g-ZMnA-8" value="+Boundary : Vector2" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" vertex="1" parent="V-ZVI1K5bxIVrfWjpJuH-1"> + <mxGeometry y="179" width="390" height="17" as="geometry" /> </mxCell> <mxCell id="V-ZVI1K5bxIVrfWjpJuH-5" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=1;labelPosition=right;points=[];portConstraint=eastwest;fontSize=12;perimeterSpacing=0;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;verticalLabelPosition=middle;fontColor=#0000FF;strokeColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-1" vertex="1"> - <mxGeometry y="162" width="160" height="8" as="geometry" /> + <mxGeometry y="196" width="390" height="8" as="geometry" /> </mxCell> <mxCell id="V-ZVI1K5bxIVrfWjpJuH-6" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#000000;" parent="V-ZVI1K5bxIVrfWjpJuH-1" vertex="1"> - <mxGeometry y="170" width="160" height="17" as="geometry" /> + <mxGeometry y="204" width="390" height="17" as="geometry" /> </mxCell> <mxCell id="V-ZVI1K5bxIVrfWjpJuH-7" value="Particles" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;direction=east;strokeColor=#0000FF;fontColor=#0000FF;" parent="1" vertex="1"> - <mxGeometry x="2510" y="562" width="220" height="153" as="geometry"> + <mxGeometry x="2420" y="290" width="330" height="153" as="geometry"> <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" /> </mxGeometry> </mxCell> - <mxCell id="V-ZVI1K5bxIVrfWjpJuH-14" value="+position" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-7" vertex="1"> - <mxGeometry y="26" width="220" height="17" as="geometry" /> + <mxCell id="V-ZVI1K5bxIVrfWjpJuH-14" value="+position : Vector2" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-7" vertex="1"> + <mxGeometry y="26" width="330" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-25" value="+velocity" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-7" vertex="1"> - <mxGeometry y="43" width="220" height="17" as="geometry" /> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-25" value="+velocity : Vector2" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-7" vertex="1"> + <mxGeometry y="43" width="330" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-24" value="+endLifespan" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-7" vertex="1"> - <mxGeometry y="60" width="220" height="17" as="geometry" /> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-24" value="+endLifespan : double" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-7" vertex="1"> + <mxGeometry y="60" width="330" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-23" value="+active" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-7" vertex="1"> - <mxGeometry y="77" width="220" height="17" as="geometry" /> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-23" value="+active : bool" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-7" vertex="1"> + <mxGeometry y="77" width="330" height="17" as="geometry" /> </mxCell> - <mxCell id="QpFLp5RZX1MbUHJJD-iN-29" value="+lifespan" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-7" vertex="1"> - <mxGeometry y="94" width="220" height="17" as="geometry" /> + <mxCell id="QpFLp5RZX1MbUHJJD-iN-29" value="+lifespan : double" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-7" vertex="1"> + <mxGeometry y="94" width="330" height="17" as="geometry" /> </mxCell> <mxCell id="V-ZVI1K5bxIVrfWjpJuH-11" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=1;labelPosition=right;points=[];portConstraint=eastwest;fontSize=12;perimeterSpacing=0;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;verticalLabelPosition=middle;fontColor=#0000FF;strokeColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-7" vertex="1"> - <mxGeometry y="111" width="220" height="8" as="geometry" /> + <mxGeometry y="111" width="330" height="8" as="geometry" /> </mxCell> - <mxCell id="V-ZVI1K5bxIVrfWjpJuH-12" value="+reset(lifespan, position, velocity) : void" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-7" vertex="1"> - <mxGeometry y="119" width="220" height="17" as="geometry" /> + <mxCell id="V-ZVI1K5bxIVrfWjpJuH-12" value="+reset(lifespan, position, velocity, forceOverTime) : void" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-7" vertex="1"> + <mxGeometry y="119" width="330" height="17" as="geometry" /> </mxCell> <mxCell id="QpFLp5RZX1MbUHJJD-iN-27" value="+update(deltaTime) : void" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="V-ZVI1K5bxIVrfWjpJuH-7" vertex="1"> - <mxGeometry y="136" width="220" height="17" as="geometry" /> + <mxGeometry y="136" width="330" height="17" as="geometry" /> </mxCell> <mxCell id="V-ZVI1K5bxIVrfWjpJuH-19" value="" style="endArrow=block;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;strokeWidth=1;endSize=14;edgeStyle=orthogonalEdgeStyle;strokeColor=#2020ff;" parent="1" source="V-ZVI1K5bxIVrfWjpJuH-1" target="5-8bWhzpOWirDYeo3-Cj-106" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> @@ -723,6 +707,10 @@ <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="2510" y="826" as="sourcePoint" /> <mxPoint x="2420" y="749" as="targetPoint" /> + <Array as="points"> + <mxPoint x="2600" y="510" /> + <mxPoint x="2600" y="510" /> + </Array> </mxGeometry> </mxCell> <mxCell id="V-ZVI1K5bxIVrfWjpJuH-23" value="0..*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontColor=#000000;" parent="V-ZVI1K5bxIVrfWjpJuH-21" connectable="0" vertex="1"> @@ -745,7 +733,7 @@ </mxGeometry> </mxCell> <mxCell id="ZHgyX9xX1EySbdOx-EKd-1" value="Camera" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;direction=east;" parent="1" vertex="1"> - <mxGeometry x="600" y="577" width="160" height="153" as="geometry"> + <mxGeometry x="600" y="577" width="160" height="143" as="geometry"> <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" /> </mxGeometry> </mxCell> @@ -788,7 +776,7 @@ </Array> </mxGeometry> </mxCell> - <mxCell id="ZHgyX9xX1EySbdOx-EKd-9" value="0..1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontColor=#FF0000;" parent="ZHgyX9xX1EySbdOx-EKd-8" vertex="1" connectable="0"> + <mxCell id="ZHgyX9xX1EySbdOx-EKd-9" value="0..1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontColor=#FF0000;" parent="ZHgyX9xX1EySbdOx-EKd-8" connectable="0" vertex="1"> <mxGeometry x="0.8037" y="-2" relative="1" as="geometry"> <mxPoint x="-16" y="-60" as="offset" /> </mxGeometry> @@ -891,7 +879,7 @@ </Array> </mxGeometry> </mxCell> - <mxCell id="ZHgyX9xX1EySbdOx-EKd-32" value="0..1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontColor=#FF0000;" parent="ZHgyX9xX1EySbdOx-EKd-31" vertex="1" connectable="0"> + <mxCell id="ZHgyX9xX1EySbdOx-EKd-32" value="0..1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontColor=#FF0000;" parent="ZHgyX9xX1EySbdOx-EKd-31" connectable="0" vertex="1"> <mxGeometry x="0.8037" y="-2" relative="1" as="geometry"> <mxPoint x="-29" y="-68" as="offset" /> </mxGeometry> @@ -905,13 +893,13 @@ </Array> </mxGeometry> </mxCell> - <mxCell id="ZHgyX9xX1EySbdOx-EKd-34" value="0..1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontColor=#FF0000;" parent="ZHgyX9xX1EySbdOx-EKd-33" vertex="1" connectable="0"> + <mxCell id="ZHgyX9xX1EySbdOx-EKd-34" value="0..1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontColor=#FF0000;" parent="ZHgyX9xX1EySbdOx-EKd-33" connectable="0" vertex="1"> <mxGeometry x="0.8037" y="-2" relative="1" as="geometry"> <mxPoint x="-22" y="-89" as="offset" /> </mxGeometry> </mxCell> <mxCell id="ZHgyX9xX1EySbdOx-EKd-35" value="Metadata" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;direction=east;strokeColor=#0000FF;fontColor=#0000FF;" parent="1" vertex="1"> - <mxGeometry x="2780" y="562" width="160" height="136" as="geometry"> + <mxGeometry x="3090" y="560" width="160" height="120" as="geometry"> <mxRectangle x="990" y="673.5" width="160" height="26" as="alternateBounds" /> </mxGeometry> </mxCell> @@ -921,20 +909,17 @@ <mxCell id="ZHgyX9xX1EySbdOx-EKd-37" value="+tag : string" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#FF0000;" parent="ZHgyX9xX1EySbdOx-EKd-35" vertex="1"> <mxGeometry y="43" width="160" height="17" as="geometry" /> </mxCell> - <mxCell id="ZHgyX9xX1EySbdOx-EKd-39" value="+layer : int" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#FF0000;" parent="ZHgyX9xX1EySbdOx-EKd-35" vertex="1"> - <mxGeometry y="60" width="160" height="17" as="geometry" /> - </mxCell> <mxCell id="ZHgyX9xX1EySbdOx-EKd-55" value="+parent : uint32_t" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="ZHgyX9xX1EySbdOx-EKd-35" vertex="1"> - <mxGeometry y="77" width="160" height="17" as="geometry" /> + <mxGeometry y="60" width="160" height="17" as="geometry" /> </mxCell> <mxCell id="ZHgyX9xX1EySbdOx-EKd-56" value="+childs : vector<uint32_t>" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="ZHgyX9xX1EySbdOx-EKd-35" vertex="1"> - <mxGeometry y="94" width="160" height="17" as="geometry" /> + <mxGeometry y="77" width="160" height="17" as="geometry" /> </mxCell> <mxCell id="ZHgyX9xX1EySbdOx-EKd-44" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=1;labelPosition=right;points=[];portConstraint=eastwest;fontSize=12;perimeterSpacing=0;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;verticalLabelPosition=middle;fontColor=#0000FF;strokeColor=#0000FF;" parent="ZHgyX9xX1EySbdOx-EKd-35" vertex="1"> - <mxGeometry y="111" width="160" height="8" as="geometry" /> + <mxGeometry y="94" width="160" height="8" as="geometry" /> </mxCell> <mxCell id="ZHgyX9xX1EySbdOx-EKd-45" value="+get_instances_max() : int" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" parent="ZHgyX9xX1EySbdOx-EKd-35" vertex="1"> - <mxGeometry y="119" width="160" height="17" as="geometry" /> + <mxGeometry y="102" width="160" height="17" as="geometry" /> </mxCell> <mxCell id="ZHgyX9xX1EySbdOx-EKd-46" value="GameObject" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;direction=east;strokeColor=#000000;fontColor=#000000;" parent="1" vertex="1"> <mxGeometry x="1163" y="1065" width="534" height="102" as="geometry"> @@ -961,7 +946,7 @@ <mxPoint x="2370" y="555" as="sourcePoint" /> <mxPoint x="1590" y="220" as="targetPoint" /> <Array as="points"> - <mxPoint x="2860" y="190" /> + <mxPoint x="3170" y="190" /> </Array> </mxGeometry> </mxCell> @@ -970,7 +955,7 @@ <mxPoint x="2380" y="742" as="sourcePoint" /> <mxPoint x="1510" y="910" as="targetPoint" /> <Array as="points"> - <mxPoint x="2860" y="890" /> + <mxPoint x="3160" y="890" /> </Array> </mxGeometry> </mxCell> @@ -981,20 +966,20 @@ </mxCell> <mxCell id="ZHgyX9xX1EySbdOx-EKd-58" value="" style="endArrow=open;html=1;rounded=0;strokeColor=#FF0000;align=center;verticalAlign=middle;fontFamily=Helvetica;fontSize=11;fontColor=#FF0000;labelBackgroundColor=default;resizable=1;endFill=0;endSize=8;edgeStyle=orthogonalEdgeStyle;" parent="1" source="ZHgyX9xX1EySbdOx-EKd-35" target="ZHgyX9xX1EySbdOx-EKd-35" edge="1"> <mxGeometry width="50" height="50" relative="1" as="geometry"> - <mxPoint x="2990" y="611" as="sourcePoint" /> - <mxPoint x="2990" y="641" as="targetPoint" /> + <mxPoint x="3300" y="609" as="sourcePoint" /> + <mxPoint x="3300" y="639" as="targetPoint" /> <Array as="points"> - <mxPoint x="2990" y="611" /> - <mxPoint x="2990" y="641" /> + <mxPoint x="3300" y="609" /> + <mxPoint x="3300" y="639" /> </Array> </mxGeometry> </mxCell> - <mxCell id="ZHgyX9xX1EySbdOx-EKd-60" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontColor=#FF0000;" parent="ZHgyX9xX1EySbdOx-EKd-58" vertex="1" connectable="0"> + <mxCell id="ZHgyX9xX1EySbdOx-EKd-60" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontColor=#FF0000;" parent="ZHgyX9xX1EySbdOx-EKd-58" connectable="0" vertex="1"> <mxGeometry x="-0.0905" y="1" relative="1" as="geometry"> <mxPoint x="-41" y="1" as="offset" /> </mxGeometry> </mxCell> - <mxCell id="ZHgyX9xX1EySbdOx-EKd-61" value="0..1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontColor=#FF0000;" parent="ZHgyX9xX1EySbdOx-EKd-58" vertex="1" connectable="0"> + <mxCell id="ZHgyX9xX1EySbdOx-EKd-61" value="0..1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontColor=#FF0000;" parent="ZHgyX9xX1EySbdOx-EKd-58" connectable="0" vertex="1"> <mxGeometry y="1" relative="1" as="geometry"> <mxPoint x="-31" y="25" as="offset" /> </mxGeometry> @@ -1109,15 +1094,15 @@ </mxGeometry> </mxCell> <mxCell id="zPw24jWEZLqpMGPXK7nM-1" value="<div><div>The Metadata Component stores metadata such as name, tag and layer. This data can be used in various systems and scripts.<br>The Metadata Component also store its parent and child(s). An empty childs vector means that the GameObject has no childs. A parent of UINT32_MAX means that the GameObject has no parent.</div></div>" style="shape=note;size=20;whiteSpace=wrap;html=1;align=left;verticalAlign=top;" parent="1" vertex="1"> - <mxGeometry x="2980" y="670" width="300" height="111" as="geometry" /> + <mxGeometry x="3290" y="668" width="300" height="111" as="geometry" /> </mxCell> <mxCell id="zPw24jWEZLqpMGPXK7nM-2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;dashed=1;" parent="1" source="ZHgyX9xX1EySbdOx-EKd-35" target="zPw24jWEZLqpMGPXK7nM-1" edge="1"> <mxGeometry relative="1" as="geometry"> - <mxPoint x="2900" y="732" as="sourcePoint" /> - <mxPoint x="2950" y="732" as="targetPoint" /> + <mxPoint x="3210" y="730" as="sourcePoint" /> + <mxPoint x="3260" y="730" as="targetPoint" /> <Array as="points"> - <mxPoint x="2960" y="690" /> - <mxPoint x="2960" y="690" /> + <mxPoint x="3270" y="688" /> + <mxPoint x="3270" y="688" /> </Array> </mxGeometry> </mxCell> @@ -1134,6 +1119,116 @@ </Array> </mxGeometry> </mxCell> + <mxCell id="oHJJ1vz0En0-0Vwvrq4N-5" value="<div><div>The ParticleEmitter Component stores data for particle system. This components has the min and max values for the particles and some values on how many and how fast particles spawn. Besides the configurations it holds color values so the rendering system can show the particles. the froce over time is used to change the direction of particles after each update.&nbsp;<br>The boundary looks to the users as a collider. particles will be not active if they pass the boundary</div></div>" style="shape=note;size=20;whiteSpace=wrap;html=1;align=left;verticalAlign=top;" parent="1" vertex="1"> + <mxGeometry x="2740" y="580.5" width="300" height="150" as="geometry" /> + </mxCell> + <mxCell id="oHJJ1vz0En0-0Vwvrq4N-6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;dashed=1;" parent="1" source="V-ZVI1K5bxIVrfWjpJuH-1" target="oHJJ1vz0En0-0Vwvrq4N-5" edge="1"> + <mxGeometry relative="1" as="geometry"> + <mxPoint x="2710" y="677" as="sourcePoint" /> + <mxPoint x="2720" y="719" as="targetPoint" /> + <Array as="points" /> + </mxGeometry> + </mxCell> + <mxCell id="YKgVrhEJGfdfAljirImL-2" value="<div><div>The particle is not a component and has certain features so it can be used in a pool by the particle system. This increases efficiency by not needing to create and delete particles.&nbsp;</div></div>" style="shape=note;size=20;whiteSpace=wrap;html=1;align=left;verticalAlign=top;" parent="1" vertex="1"> + <mxGeometry x="2790" y="311" width="240" height="111" as="geometry" /> + </mxCell> + <mxCell id="YKgVrhEJGfdfAljirImL-3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;dashed=1;" parent="1" source="V-ZVI1K5bxIVrfWjpJuH-7" target="YKgVrhEJGfdfAljirImL-2" edge="1"> + <mxGeometry relative="1" as="geometry"> + <mxPoint x="2740" y="442.13" as="sourcePoint" /> + <mxPoint x="2800" y="442.13" as="targetPoint" /> + <Array as="points" /> + </mxGeometry> + </mxCell> + <mxCell id="iLlbnCJIxoT-n0g-ZMnA-2" value="" style="endArrow=open;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;edgeStyle=orthogonalEdgeStyle;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="1950" y="653" as="sourcePoint" /> + <mxPoint x="1870" y="577" as="targetPoint" /> + <Array as="points"> + <mxPoint x="1950" y="577" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="iLlbnCJIxoT-n0g-ZMnA-3" value="0..1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="iLlbnCJIxoT-n0g-ZMnA-2"> + <mxGeometry x="-0.7119" y="-1" relative="1" as="geometry"> + <mxPoint x="-21" y="14" as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="iLlbnCJIxoT-n0g-ZMnA-4" value="1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontColor=#FF0000;" vertex="1" connectable="0" parent="iLlbnCJIxoT-n0g-ZMnA-2"> + <mxGeometry x="0.6214" y="-1" relative="1" as="geometry"> + <mxPoint x="3" y="14" as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="iLlbnCJIxoT-n0g-ZMnA-5" value="" style="endArrow=open;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;edgeStyle=orthogonalEdgeStyle;strokeColor=#0000FF;" edge="1" parent="1" source="V-ZVI1K5bxIVrfWjpJuH-1" target="5-8bWhzpOWirDYeo3-Cj-122"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="2004.97" y="606" as="sourcePoint" /> + <mxPoint x="1924.97" y="530" as="targetPoint" /> + <Array as="points"> + <mxPoint x="2350" y="530" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="iLlbnCJIxoT-n0g-ZMnA-7" value="1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="iLlbnCJIxoT-n0g-ZMnA-5"> + <mxGeometry x="0.6214" y="-1" relative="1" as="geometry"> + <mxPoint x="3" y="14" as="offset" /> + </mxGeometry> + </mxCell> + <mxCell id="3FSnYpZvSTWzFvyN4hJx-1" value="<<enumeration>>
BodyType" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=40;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;direction=east;" vertex="1" parent="1"> + <mxGeometry x="320" y="1380" width="160" height="116" as="geometry"> + <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" /> + </mxGeometry> + </mxCell> + <mxCell id="3FSnYpZvSTWzFvyN4hJx-2" value="static" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" vertex="1" parent="3FSnYpZvSTWzFvyN4hJx-1"> + <mxGeometry y="40" width="160" height="17" as="geometry" /> + </mxCell> + <mxCell id="3FSnYpZvSTWzFvyN4hJx-3" value="dynamic" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" vertex="1" parent="3FSnYpZvSTWzFvyN4hJx-1"> + <mxGeometry y="57" width="160" height="17" as="geometry" /> + </mxCell> + <mxCell id="3FSnYpZvSTWzFvyN4hJx-6" value="kinematic" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" vertex="1" parent="3FSnYpZvSTWzFvyN4hJx-1"> + <mxGeometry y="74" width="160" height="17" as="geometry" /> + </mxCell> + <mxCell id="3FSnYpZvSTWzFvyN4hJx-4" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=1;labelPosition=right;points=[];portConstraint=eastwest;fontSize=12;perimeterSpacing=0;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;verticalLabelPosition=middle;" vertex="1" parent="3FSnYpZvSTWzFvyN4hJx-1"> + <mxGeometry y="91" width="160" height="8" as="geometry" /> + </mxCell> + <mxCell id="3FSnYpZvSTWzFvyN4hJx-5" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;" vertex="1" parent="3FSnYpZvSTWzFvyN4hJx-1"> + <mxGeometry y="99" width="160" height="17" as="geometry" /> + </mxCell> + <mxCell id="3FSnYpZvSTWzFvyN4hJx-7" value="PhysicsConstraints" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;direction=east;" vertex="1" parent="1"> + <mxGeometry x="320" y="1510" width="160" height="106" as="geometry"> + <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" /> + </mxGeometry> + </mxCell> + <mxCell id="3FSnYpZvSTWzFvyN4hJx-8" value="+x: bool" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" vertex="1" parent="3FSnYpZvSTWzFvyN4hJx-7"> + <mxGeometry y="30" width="160" height="17" as="geometry" /> + </mxCell> + <mxCell id="3FSnYpZvSTWzFvyN4hJx-9" value="+y: bool" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" vertex="1" parent="3FSnYpZvSTWzFvyN4hJx-7"> + <mxGeometry y="47" width="160" height="17" as="geometry" /> + </mxCell> + <mxCell id="3FSnYpZvSTWzFvyN4hJx-10" value="+rotation: bool" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" vertex="1" parent="3FSnYpZvSTWzFvyN4hJx-7"> + <mxGeometry y="64" width="160" height="17" as="geometry" /> + </mxCell> + <mxCell id="3FSnYpZvSTWzFvyN4hJx-11" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=1;labelPosition=right;points=[];portConstraint=eastwest;fontSize=12;perimeterSpacing=0;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;verticalLabelPosition=middle;" vertex="1" parent="3FSnYpZvSTWzFvyN4hJx-7"> + <mxGeometry y="81" width="160" height="8" as="geometry" /> + </mxCell> + <mxCell id="3FSnYpZvSTWzFvyN4hJx-12" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;" vertex="1" parent="3FSnYpZvSTWzFvyN4hJx-7"> + <mxGeometry y="89" width="160" height="17" as="geometry" /> + </mxCell> + <mxCell id="3FSnYpZvSTWzFvyN4hJx-13" value="<<enumeration>>
DetectionMode" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=40;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;direction=east;" vertex="1" parent="1"> + <mxGeometry x="320" y="1630" width="160" height="99" as="geometry"> + <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" /> + </mxGeometry> + </mxCell> + <mxCell id="3FSnYpZvSTWzFvyN4hJx-14" value="Discrete" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" vertex="1" parent="3FSnYpZvSTWzFvyN4hJx-13"> + <mxGeometry y="40" width="160" height="17" as="geometry" /> + </mxCell> + <mxCell id="3FSnYpZvSTWzFvyN4hJx-15" value="Continuous" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;" vertex="1" parent="3FSnYpZvSTWzFvyN4hJx-13"> + <mxGeometry y="57" width="160" height="17" as="geometry" /> + </mxCell> + <mxCell id="3FSnYpZvSTWzFvyN4hJx-17" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=1;labelPosition=right;points=[];portConstraint=eastwest;fontSize=12;perimeterSpacing=0;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;verticalLabelPosition=middle;" vertex="1" parent="3FSnYpZvSTWzFvyN4hJx-13"> + <mxGeometry y="74" width="160" height="8" as="geometry" /> + </mxCell> + <mxCell id="3FSnYpZvSTWzFvyN4hJx-18" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;" vertex="1" parent="3FSnYpZvSTWzFvyN4hJx-13"> + <mxGeometry y="82" width="160" height="17" as="geometry" /> + </mxCell> </root> </mxGraphModel> </diagram> @@ -1257,188 +1352,341 @@ </mxGraphModel> </diagram> <diagram id="hmS379YNZ-lkRr77CXku" name="Fixed loop"> - <mxGraphModel dx="1434" dy="706" 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"> + <mxGraphModel dx="1147" dy="565" 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="6kGKwBqryAZ-5GoWzS5M-5" value="Has Script" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="6kGKwBqryAZ-5GoWzS5M-1" target="6kGKwBqryAZ-5GoWzS5M-4"> + <mxCell id="LWzpuTTIhLKTzSPn8ECG-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="6kGKwBqryAZ-5GoWzS5M-2" target="LWzpuTTIhLKTzSPn8ECG-1"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="6kGKwBqryAZ-5GoWzS5M-2" value="ScriptSystem update" style="rounded=1;whiteSpace=wrap;html=1;" parent="1" vertex="1"> + <mxGeometry x="280" y="170" width="120" height="60" as="geometry" /> + </mxCell> + <mxCell id="uyKTVYCHPqaCLTrU0X7D-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="1" source="uyKTVYCHPqaCLTrU0X7D-15" target="6kGKwBqryAZ-5GoWzS5M-2" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> - <mxCell id="uyKTVYCHPqaCLTrU0X7D-3" value="No Script" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="6kGKwBqryAZ-5GoWzS5M-1" target="uyKTVYCHPqaCLTrU0X7D-2"> + <mxCell id="uyKTVYCHPqaCLTrU0X7D-15" value="" style="ellipse;fillColor=strokeColor;html=1;" parent="1" vertex="1"> + <mxGeometry x="325" y="90" width="30" height="30" as="geometry" /> + </mxCell> + <mxCell id="rDM5npk4WMzzq9nIs2zg-1" value="" style="ellipse;html=1;shape=endState;fillColor=strokeColor;" parent="1" vertex="1"> + <mxGeometry x="325" y="510" width="30" height="30" as="geometry" /> + </mxCell> + <mxCell id="nhMEGUM_DJ7VpblrVjl8-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" target="rDM5npk4WMzzq9nIs2zg-1"> + <mxGeometry relative="1" as="geometry"> + <mxPoint x="340" y="390" as="sourcePoint" /> + </mxGeometry> + </mxCell> + <mxCell id="5sUKM7Mse2GN6mVekaT2-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="nhMEGUM_DJ7VpblrVjl8-1" target="5sUKM7Mse2GN6mVekaT2-1"> <mxGeometry relative="1" as="geometry" /> </mxCell> - <mxCell id="6kGKwBqryAZ-5GoWzS5M-1" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="300" y="270" width="80" height="80" as="geometry" /> + <mxCell id="nhMEGUM_DJ7VpblrVjl8-1" value="Collision system update" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> + <mxGeometry x="280" y="330" width="120" height="60" as="geometry" /> </mxCell> - <mxCell id="6kGKwBqryAZ-5GoWzS5M-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="6kGKwBqryAZ-5GoWzS5M-2" target="6kGKwBqryAZ-5GoWzS5M-1"> + <mxCell id="LWzpuTTIhLKTzSPn8ECG-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="LWzpuTTIhLKTzSPn8ECG-1" target="nhMEGUM_DJ7VpblrVjl8-1"> <mxGeometry relative="1" as="geometry" /> </mxCell> - <mxCell id="6kGKwBqryAZ-5GoWzS5M-2" value="Begin Fixed loop" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="280" y="170" width="120" height="60" as="geometry" /> + <mxCell id="LWzpuTTIhLKTzSPn8ECG-1" value="Physics system update" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> + <mxGeometry x="280" y="250" width="120" height="60" as="geometry" /> </mxCell> - <mxCell id="uyKTVYCHPqaCLTrU0X7D-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="6kGKwBqryAZ-5GoWzS5M-4" target="uyKTVYCHPqaCLTrU0X7D-2"> - <mxGeometry relative="1" as="geometry"> + <mxCell id="5sUKM7Mse2GN6mVekaT2-1" value="Particle system update" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> + <mxGeometry x="280" y="410" width="120" height="60" as="geometry" /> + </mxCell> + </root> + </mxGraphModel> + </diagram> + <diagram name="Collision System" id="NynOn4n1ygjSTJj9r24j"> + <mxGraphModel dx="1912" dy="941" 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="tfh_r5f0YTCt_Ms5cAZi-0" /> + <mxCell id="tfh_r5f0YTCt_Ms5cAZi-1" parent="tfh_r5f0YTCt_Ms5cAZi-0" /> + <mxCell id="L53kKr8ZecnGV9-t9ryX-17" value="Loop for each type<br>(Box-Box, Circle-Circle, Box-Circle)<br>And loop for eacht type that used continuous collisions" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="tfh_r5f0YTCt_Ms5cAZi-1" source="L53kKr8ZecnGV9-t9ryX-2" target="L53kKr8ZecnGV9-t9ryX-14" edge="1"> + <mxGeometry x="-0.2593" relative="1" as="geometry"> <Array as="points"> - <mxPoint x="560" y="490" /> + <mxPoint x="740" y="600" /> + <mxPoint x="740" y="430" /> </Array> + <mxPoint as="offset" /> </mxGeometry> </mxCell> - <mxCell id="6kGKwBqryAZ-5GoWzS5M-4" value="On update" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="500" y="280" width="120" height="60" as="geometry" /> - </mxCell> - <mxCell id="uyKTVYCHPqaCLTrU0X7D-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="uyKTVYCHPqaCLTrU0X7D-2" target="uyKTVYCHPqaCLTrU0X7D-9"> + <mxCell id="13u7WWwgXKPRbZUCi-AO-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="tfh_r5f0YTCt_Ms5cAZi-1" source="L53kKr8ZecnGV9-t9ryX-2" target="zlh13i542BLaWYQDc_TT-5"> <mxGeometry relative="1" as="geometry" /> </mxCell> - <mxCell id="uyKTVYCHPqaCLTrU0X7D-2" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="300" y="450" width="80" height="80" as="geometry" /> + <mxCell id="L53kKr8ZecnGV9-t9ryX-2" value="CheckCollision&lt;Type&gt;" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="tfh_r5f0YTCt_Ms5cAZi-1" vertex="1"> + <mxGeometry x="250" y="540" width="380" height="845" as="geometry" /> </mxCell> - <mxCell id="uyKTVYCHPqaCLTrU0X7D-17" value="No rigidbody" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="uyKTVYCHPqaCLTrU0X7D-9" target="uyKTVYCHPqaCLTrU0X7D-14"> + <mxCell id="HlupWqPSFh472k8GUjuW-0" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="tfh_r5f0YTCt_Ms5cAZi-1" source="tfh_r5f0YTCt_Ms5cAZi-16" target="L53kKr8ZecnGV9-t9ryX-14"> <mxGeometry relative="1" as="geometry" /> </mxCell> - <mxCell id="uyKTVYCHPqaCLTrU0X7D-19" value="Has RigidBody" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="uyKTVYCHPqaCLTrU0X7D-9" target="JXiLtSR4Z3VAab4H5BO8-5"> - <mxGeometry relative="1" as="geometry"> - <mxPoint x="340" y="730" as="targetPoint" /> - </mxGeometry> + <mxCell id="tfh_r5f0YTCt_Ms5cAZi-16" value="" style="ellipse;fillColor=strokeColor;html=1;" parent="tfh_r5f0YTCt_Ms5cAZi-1" vertex="1"> + <mxGeometry x="425" y="290" width="30" height="30" as="geometry" /> </mxCell> - <mxCell id="uyKTVYCHPqaCLTrU0X7D-9" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="300" y="600" width="80" height="80" as="geometry" /> + <mxCell id="L53kKr8ZecnGV9-t9ryX-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="tfh_r5f0YTCt_Ms5cAZi-1" source="6IGEbLnjvliKsGBx8VFq-0" target="L53kKr8ZecnGV9-t9ryX-9" edge="1"> + <mxGeometry relative="1" as="geometry" /> </mxCell> - <mxCell id="uyKTVYCHPqaCLTrU0X7D-14" value="" style="ellipse;html=1;shape=endState;fillColor=strokeColor;" vertex="1" parent="1"> - <mxGeometry x="545" y="625" width="30" height="30" as="geometry" /> + <mxCell id="6IGEbLnjvliKsGBx8VFq-0" value="Get colliders" style="rounded=1;whiteSpace=wrap;html=1;" parent="tfh_r5f0YTCt_Ms5cAZi-1" vertex="1"> + <mxGeometry x="280" y="625" width="120" height="60" as="geometry" /> </mxCell> - <mxCell id="uyKTVYCHPqaCLTrU0X7D-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="uyKTVYCHPqaCLTrU0X7D-15" target="6kGKwBqryAZ-5GoWzS5M-2"> - <mxGeometry relative="1" as="geometry" /> + <mxCell id="6IGEbLnjvliKsGBx8VFq-14" value="Collision" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="tfh_r5f0YTCt_Ms5cAZi-1" source="6IGEbLnjvliKsGBx8VFq-3" target="6IGEbLnjvliKsGBx8VFq-11" edge="1"> + <mxGeometry x="0.5714" relative="1" as="geometry"> + <mxPoint as="offset" /> + </mxGeometry> </mxCell> - <mxCell id="uyKTVYCHPqaCLTrU0X7D-15" value="" style="ellipse;fillColor=strokeColor;html=1;" vertex="1" parent="1"> - <mxGeometry x="325" y="90" width="30" height="30" as="geometry" /> + <mxCell id="6IGEbLnjvliKsGBx8VFq-15" value="No collision" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="tfh_r5f0YTCt_Ms5cAZi-1" source="6IGEbLnjvliKsGBx8VFq-3" target="6IGEbLnjvliKsGBx8VFq-6" edge="1"> + <mxGeometry x="-0.4359" relative="1" as="geometry"> + <Array as="points"> + <mxPoint x="450" y="1185" /> + <mxPoint x="450" y="935" /> + </Array> + <mxPoint as="offset" /> + </mxGeometry> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-1" value="Event System" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="90" y="280" width="120" height="230" as="geometry" /> + <mxCell id="L53kKr8ZecnGV9-t9ryX-1" value="end of loop" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="tfh_r5f0YTCt_Ms5cAZi-1" source="6IGEbLnjvliKsGBx8VFq-3" target="L53kKr8ZecnGV9-t9ryX-0" edge="1"> + <mxGeometry relative="1" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-2" value="Collision System" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="90" y="610" width="120" height="490" as="geometry" /> + <mxCell id="6IGEbLnjvliKsGBx8VFq-3" value="" style="rhombus;whiteSpace=wrap;html=1;" parent="tfh_r5f0YTCt_Ms5cAZi-1" vertex="1"> + <mxGeometry x="300" y="1145" width="80" height="80" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-7" value="Has Collider" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="JXiLtSR4Z3VAab4H5BO8-5" target="JXiLtSR4Z3VAab4H5BO8-6"> + <mxCell id="6IGEbLnjvliKsGBx8VFq-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="tfh_r5f0YTCt_Ms5cAZi-1" source="6IGEbLnjvliKsGBx8VFq-4" target="6IGEbLnjvliKsGBx8VFq-3" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-5" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="300" y="760" width="80" height="80" as="geometry" /> + <mxCell id="6IGEbLnjvliKsGBx8VFq-4" value="check collision" style="rounded=1;whiteSpace=wrap;html=1;" parent="tfh_r5f0YTCt_Ms5cAZi-1" vertex="1"> + <mxGeometry x="280" y="1025" width="120" height="60" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="JXiLtSR4Z3VAab4H5BO8-6" target="JXiLtSR4Z3VAab4H5BO8-8"> + <mxCell id="6IGEbLnjvliKsGBx8VFq-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="tfh_r5f0YTCt_Ms5cAZi-1" source="6IGEbLnjvliKsGBx8VFq-6" target="6IGEbLnjvliKsGBx8VFq-4" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-39" value="No Collider" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="JXiLtSR4Z3VAab4H5BO8-6" target="JXiLtSR4Z3VAab4H5BO8-36"> + <mxCell id="6IGEbLnjvliKsGBx8VFq-6" value="" style="rhombus;whiteSpace=wrap;html=1;" parent="tfh_r5f0YTCt_Ms5cAZi-1" vertex="1"> + <mxGeometry x="300" y="895" width="80" height="80" as="geometry" /> + </mxCell> + <mxCell id="6IGEbLnjvliKsGBx8VFq-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="tfh_r5f0YTCt_Ms5cAZi-1" source="6IGEbLnjvliKsGBx8VFq-11" target="6IGEbLnjvliKsGBx8VFq-6" edge="1"> <mxGeometry relative="1" as="geometry"> <Array as="points"> - <mxPoint x="510" y="940" /> - <mxPoint x="510" y="1200" /> + <mxPoint x="560" y="935" /> </Array> </mxGeometry> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-6" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="300" y="900" width="80" height="80" as="geometry" /> + <mxCell id="6IGEbLnjvliKsGBx8VFq-11" value="Save collision object" style="rounded=1;whiteSpace=wrap;html=1;" parent="tfh_r5f0YTCt_Ms5cAZi-1" vertex="1"> + <mxGeometry x="500" y="1025" width="120" height="60" as="geometry" /> + </mxCell> + <mxCell id="L53kKr8ZecnGV9-t9ryX-0" value="" style="ellipse;html=1;shape=endState;fillColor=strokeColor;" parent="tfh_r5f0YTCt_Ms5cAZi-1" vertex="1"> + <mxGeometry x="325" y="1315" width="30" height="30" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-37" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="JXiLtSR4Z3VAab4H5BO8-8" target="JXiLtSR4Z3VAab4H5BO8-36"> + <mxCell id="L53kKr8ZecnGV9-t9ryX-11" value="has colliders" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="tfh_r5f0YTCt_Ms5cAZi-1" source="L53kKr8ZecnGV9-t9ryX-9" target="6IGEbLnjvliKsGBx8VFq-6" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-8" value="detect Collision" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="280" y="1050" width="120" height="60" as="geometry" /> + <mxCell id="L53kKr8ZecnGV9-t9ryX-13" value="No colliders" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="tfh_r5f0YTCt_Ms5cAZi-1" source="L53kKr8ZecnGV9-t9ryX-9" target="L53kKr8ZecnGV9-t9ryX-12" edge="1"> + <mxGeometry relative="1" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-16" value="No collision" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="JXiLtSR4Z3VAab4H5BO8-10" target="JXiLtSR4Z3VAab4H5BO8-15"> + <mxCell id="L53kKr8ZecnGV9-t9ryX-9" value="" style="rhombus;whiteSpace=wrap;html=1;" parent="tfh_r5f0YTCt_Ms5cAZi-1" vertex="1"> + <mxGeometry x="300" y="755" width="80" height="80" as="geometry" /> + </mxCell> + <mxCell id="L53kKr8ZecnGV9-t9ryX-12" value="" style="ellipse;html=1;shape=endState;fillColor=strokeColor;" parent="tfh_r5f0YTCt_Ms5cAZi-1" vertex="1"> + <mxGeometry x="490" y="780" width="30" height="30" as="geometry" /> + </mxCell> + <mxCell id="L53kKr8ZecnGV9-t9ryX-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="tfh_r5f0YTCt_Ms5cAZi-1" source="L53kKr8ZecnGV9-t9ryX-14" target="L53kKr8ZecnGV9-t9ryX-2" edge="1"> <mxGeometry relative="1" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-20" value="Has collision" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="JXiLtSR4Z3VAab4H5BO8-10" target="JXiLtSR4Z3VAab4H5BO8-19"> + <mxCell id="L53kKr8ZecnGV9-t9ryX-14" value="" style="rhombus;whiteSpace=wrap;html=1;" parent="tfh_r5f0YTCt_Ms5cAZi-1" vertex="1"> + <mxGeometry x="400" y="390" width="80" height="80" as="geometry" /> + </mxCell> + <mxCell id="zlh13i542BLaWYQDc_TT-8" value="No collision" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="tfh_r5f0YTCt_Ms5cAZi-1" source="zlh13i542BLaWYQDc_TT-5" target="zlh13i542BLaWYQDc_TT-7"> <mxGeometry relative="1" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-10" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="300" y="1730" width="80" height="80" as="geometry" /> + <mxCell id="zlh13i542BLaWYQDc_TT-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="tfh_r5f0YTCt_Ms5cAZi-1" source="zlh13i542BLaWYQDc_TT-5" target="zlh13i542BLaWYQDc_TT-9"> + <mxGeometry relative="1" as="geometry"> + <Array as="points"> + <mxPoint x="580" y="1470" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="13u7WWwgXKPRbZUCi-AO-4" value="Static collision" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="zlh13i542BLaWYQDc_TT-10"> + <mxGeometry x="0.6829" y="1" relative="1" as="geometry"> + <mxPoint as="offset" /> + </mxGeometry> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="JXiLtSR4Z3VAab4H5BO8-12" target="JXiLtSR4Z3VAab4H5BO8-15"> + <mxCell id="zlh13i542BLaWYQDc_TT-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="tfh_r5f0YTCt_Ms5cAZi-1" source="zlh13i542BLaWYQDc_TT-5" target="zlh13i542BLaWYQDc_TT-13"> <mxGeometry relative="1" as="geometry"> <Array as="points"> - <mxPoint x="530" y="1950" /> + <mxPoint x="740" y="1470" /> </Array> </mxGeometry> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-12" value="On collision Static" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="470" y="1860" width="120" height="60" as="geometry" /> + <mxCell id="13u7WWwgXKPRbZUCi-AO-5" value="Normal collision" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="zlh13i542BLaWYQDc_TT-14"> + <mxGeometry x="0.8065" y="-1" relative="1" as="geometry"> + <mxPoint as="offset" /> + </mxGeometry> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-14" value="Event System" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="90" y="1710" width="120" height="280" as="geometry" /> + <mxCell id="zlh13i542BLaWYQDc_TT-5" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="tfh_r5f0YTCt_Ms5cAZi-1"> + <mxGeometry x="400" y="1430" width="80" height="80" as="geometry" /> </mxCell> - <mxCell id="rDM5npk4WMzzq9nIs2zg-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="JXiLtSR4Z3VAab4H5BO8-15" target="rDM5npk4WMzzq9nIs2zg-1"> + <mxCell id="13u7WWwgXKPRbZUCi-AO-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="tfh_r5f0YTCt_Ms5cAZi-1" source="zlh13i542BLaWYQDc_TT-7" target="13u7WWwgXKPRbZUCi-AO-2"> <mxGeometry relative="1" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-15" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="300" y="1910" width="80" height="80" as="geometry" /> + <mxCell id="zlh13i542BLaWYQDc_TT-7" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="tfh_r5f0YTCt_Ms5cAZi-1"> + <mxGeometry x="400" y="1560" width="80" height="80" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="JXiLtSR4Z3VAab4H5BO8-18" target="JXiLtSR4Z3VAab4H5BO8-15"> + <mxCell id="zlh13i542BLaWYQDc_TT-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="tfh_r5f0YTCt_Ms5cAZi-1" source="zlh13i542BLaWYQDc_TT-9" target="zlh13i542BLaWYQDc_TT-7"> <mxGeometry relative="1" as="geometry"> <Array as="points"> - <mxPoint x="730" y="1950" /> + <mxPoint x="580" y="1600" /> </Array> </mxGeometry> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-18" value="On collision User" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="670" y="1860" width="120" height="60" as="geometry" /> + <mxCell id="zlh13i542BLaWYQDc_TT-9" value="Static collision handle" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="tfh_r5f0YTCt_Ms5cAZi-1"> + <mxGeometry x="520" y="1512.5" width="120" height="60" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-21" value="Collide with static" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="JXiLtSR4Z3VAab4H5BO8-19" target="JXiLtSR4Z3VAab4H5BO8-12"> - <mxGeometry relative="1" as="geometry" /> + <mxCell id="zlh13i542BLaWYQDc_TT-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="tfh_r5f0YTCt_Ms5cAZi-1" source="zlh13i542BLaWYQDc_TT-13" target="zlh13i542BLaWYQDc_TT-7"> + <mxGeometry relative="1" as="geometry"> + <Array as="points"> + <mxPoint x="740" y="1600" /> + </Array> + </mxGeometry> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-22" value="else" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="JXiLtSR4Z3VAab4H5BO8-19" target="JXiLtSR4Z3VAab4H5BO8-18"> - <mxGeometry relative="1" as="geometry" /> + <mxCell id="zlh13i542BLaWYQDc_TT-13" value="normal collision handle" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="tfh_r5f0YTCt_Ms5cAZi-1"> + <mxGeometry x="680" y="1512.5" width="120" height="60" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-19" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="490" y="1730" width="80" height="80" as="geometry" /> + <mxCell id="13u7WWwgXKPRbZUCi-AO-0" value="<div><div>The static collision handle and normal collision handle are event handled by the system or user scripts</div></div>" style="shape=note;size=20;whiteSpace=wrap;html=1;align=left;verticalAlign=top;" vertex="1" parent="tfh_r5f0YTCt_Ms5cAZi-1"> + <mxGeometry x="870" y="1512.5" width="300" height="35" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="JXiLtSR4Z3VAab4H5BO8-26" target="JXiLtSR4Z3VAab4H5BO8-44"> - <mxGeometry relative="1" as="geometry" /> + <mxCell id="13u7WWwgXKPRbZUCi-AO-1" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="tfh_r5f0YTCt_Ms5cAZi-1" source="zlh13i542BLaWYQDc_TT-13" target="13u7WWwgXKPRbZUCi-AO-0"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="710" y="1710" as="sourcePoint" /> + <mxPoint x="760" y="1660" as="targetPoint" /> + </mxGeometry> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-26" value="move object" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="280" y="1465" width="120" height="60" as="geometry" /> + <mxCell id="13u7WWwgXKPRbZUCi-AO-2" value="" style="ellipse;html=1;shape=endState;fillColor=strokeColor;" vertex="1" parent="tfh_r5f0YTCt_Ms5cAZi-1"> + <mxGeometry x="425" y="1700" width="30" height="30" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-29" value="Physics System" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="90" y="1280" width="120" height="370" as="geometry" /> + <mxCell id="1OGYIXaVx8-P0VZHAua7-0" value="<div><div>This loop is optimised using a broad collision detection methode. The check collision has this but is does not change functionality of the system.</div></div>" style="shape=note;size=20;whiteSpace=wrap;html=1;align=left;verticalAlign=top;" vertex="1" parent="tfh_r5f0YTCt_Ms5cAZi-1"> + <mxGeometry x="710" y="940" width="300" height="50" as="geometry" /> + </mxCell> + <mxCell id="1OGYIXaVx8-P0VZHAua7-1" value="" style="endArrow=none;dashed=1;html=1;rounded=0;" edge="1" parent="tfh_r5f0YTCt_Ms5cAZi-1" target="1OGYIXaVx8-P0VZHAua7-0" source="L53kKr8ZecnGV9-t9ryX-2"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="640" y="945" as="sourcePoint" /> + <mxPoint x="600" y="1065" as="targetPoint" /> + </mxGeometry> + </mxCell> + </root> + </mxGraphModel> + </diagram> + <diagram name="Physics System" id="NbgRLwdImGSmGWTAHdZd"> + <mxGraphModel dx="1434" dy="706" 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="JB4RGL3kYZf54SDTDYf8-0" /> + <mxCell id="JB4RGL3kYZf54SDTDYf8-1" parent="JB4RGL3kYZf54SDTDYf8-0" /> + <mxCell id="JB4RGL3kYZf54SDTDYf8-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="JB4RGL3kYZf54SDTDYf8-1" source="Y8EWepQ-n7Dwm9J7d-AM-0"> + <mxGeometry relative="1" as="geometry"> + <mxPoint x="440" y="220" as="sourcePoint" /> + <mxPoint x="440" y="280" as="targetPoint" /> + </mxGeometry> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-32" value="Script System" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="680" y="280" width="120" height="60" as="geometry" /> + <mxCell id="JB4RGL3kYZf54SDTDYf8-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="JB4RGL3kYZf54SDTDYf8-1" source="JB4RGL3kYZf54SDTDYf8-10" target="Y8EWepQ-n7Dwm9J7d-AM-0"> + <mxGeometry relative="1" as="geometry"> + <mxPoint x="440" y="140" as="targetPoint" /> + </mxGeometry> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-33" value="Script System" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="840" y="1860" width="120" height="60" as="geometry" /> + <mxCell id="JB4RGL3kYZf54SDTDYf8-10" value="" style="ellipse;fillColor=strokeColor;html=1;" vertex="1" parent="JB4RGL3kYZf54SDTDYf8-1"> + <mxGeometry x="425" y="30" width="30" height="30" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-41" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="JXiLtSR4Z3VAab4H5BO8-36" target="JXiLtSR4Z3VAab4H5BO8-40"> + <mxCell id="PVg3gXopDeQnv1w6AJC1-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="JB4RGL3kYZf54SDTDYf8-1" source="JB4RGL3kYZf54SDTDYf8-46" target="PVg3gXopDeQnv1w6AJC1-0"> <mxGeometry relative="1" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-36" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="300" y="1160" width="80" height="80" as="geometry" /> + <mxCell id="JB4RGL3kYZf54SDTDYf8-46" value="Update velocities" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="JB4RGL3kYZf54SDTDYf8-1"> + <mxGeometry x="380" y="280" width="120" height="60" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-42" value="else" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="JXiLtSR4Z3VAab4H5BO8-40" target="JXiLtSR4Z3VAab4H5BO8-26"> + <mxCell id="PVg3gXopDeQnv1w6AJC1-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="JB4RGL3kYZf54SDTDYf8-1" source="PVg3gXopDeQnv1w6AJC1-0" target="PVg3gXopDeQnv1w6AJC1-2"> <mxGeometry relative="1" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="JXiLtSR4Z3VAab4H5BO8-40" target="JXiLtSR4Z3VAab4H5BO8-44"> + <mxCell id="PVg3gXopDeQnv1w6AJC1-0" value="Move objects" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="JB4RGL3kYZf54SDTDYf8-1"> + <mxGeometry x="380" y="400" width="120" height="60" as="geometry" /> + </mxCell> + <mxCell id="PVg3gXopDeQnv1w6AJC1-2" value="" style="ellipse;html=1;shape=endState;fillColor=strokeColor;" vertex="1" parent="JB4RGL3kYZf54SDTDYf8-1"> + <mxGeometry x="425" y="550" width="30" height="30" as="geometry" /> + </mxCell> + <mxCell id="Y8EWepQ-n7Dwm9J7d-AM-0" value="Get rigidbodies" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="JB4RGL3kYZf54SDTDYf8-1"> + <mxGeometry x="380" y="150" width="120" height="60" as="geometry" /> + </mxCell> + </root> + </mxGraphModel> + </diagram> + <diagram name="Particle System" id="lkCcBGn-XxemYJ_BanXI"> + <mxGraphModel dx="1434" dy="706" 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="27hjxvRdXP5eaZgrt3Il-0" /> + <mxCell id="27hjxvRdXP5eaZgrt3Il-1" parent="27hjxvRdXP5eaZgrt3Il-0" /> + <mxCell id="27hjxvRdXP5eaZgrt3Il-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="27hjxvRdXP5eaZgrt3Il-1" source="w_soAwOsWvxdXFNHcZJS-0" target="BX6RDOaBGkcvAdUTXRfd-0"> <mxGeometry relative="1" as="geometry"> - <Array as="points"> - <mxPoint x="510" y="1340" /> - <mxPoint x="510" y="1630" /> - </Array> + <mxPoint x="440" y="220" as="sourcePoint" /> + <mxPoint x="440" y="240" as="targetPoint" /> </mxGeometry> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-48" value="Static object" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="JXiLtSR4Z3VAab4H5BO8-47"> - <mxGeometry x="-0.0218" y="2" relative="1" as="geometry"> - <mxPoint as="offset" /> + <mxCell id="27hjxvRdXP5eaZgrt3Il-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="27hjxvRdXP5eaZgrt3Il-1" source="27hjxvRdXP5eaZgrt3Il-7" target="w_soAwOsWvxdXFNHcZJS-0"> + <mxGeometry relative="1" as="geometry"> + <mxPoint x="440" y="140" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="27hjxvRdXP5eaZgrt3Il-7" value="" style="ellipse;fillColor=strokeColor;html=1;" vertex="1" parent="27hjxvRdXP5eaZgrt3Il-1"> + <mxGeometry x="425" y="30" width="30" height="30" as="geometry" /> + </mxCell> + <mxCell id="27hjxvRdXP5eaZgrt3Il-10" value="All particles updated" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="27hjxvRdXP5eaZgrt3Il-1" source="BX6RDOaBGkcvAdUTXRfd-3" target="27hjxvRdXP5eaZgrt3Il-12"> + <mxGeometry relative="1" as="geometry"> + <mxPoint x="440" y="830" as="sourcePoint" /> + </mxGeometry> + </mxCell> + <mxCell id="BX6RDOaBGkcvAdUTXRfd-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="27hjxvRdXP5eaZgrt3Il-1" source="27hjxvRdXP5eaZgrt3Il-11" target="BX6RDOaBGkcvAdUTXRfd-1"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="27hjxvRdXP5eaZgrt3Il-11" value="reset particles" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="27hjxvRdXP5eaZgrt3Il-1"> + <mxGeometry x="380" y="380" width="120" height="60" as="geometry" /> + </mxCell> + <mxCell id="27hjxvRdXP5eaZgrt3Il-12" value="" style="ellipse;html=1;shape=endState;fillColor=strokeColor;" vertex="1" parent="27hjxvRdXP5eaZgrt3Il-1"> + <mxGeometry x="425" y="800" width="30" height="30" as="geometry" /> + </mxCell> + <mxCell id="w_soAwOsWvxdXFNHcZJS-0" value="Get ParticleEmitters" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="27hjxvRdXP5eaZgrt3Il-1"> + <mxGeometry x="380" y="150" width="120" height="60" as="geometry" /> + </mxCell> + <mxCell id="Lwh_rbNl-4H-VlUMvsNu-4" value="Depends on configurations<br>(emission rate)" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="27hjxvRdXP5eaZgrt3Il-1" source="BX6RDOaBGkcvAdUTXRfd-0" target="27hjxvRdXP5eaZgrt3Il-11"> + <mxGeometry relative="1" as="geometry"> + <mxPoint x="440" y="340" as="sourcePoint" /> </mxGeometry> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-40" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="300" y="1300" width="80" height="80" as="geometry" /> + <mxCell id="BX6RDOaBGkcvAdUTXRfd-0" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="27hjxvRdXP5eaZgrt3Il-1"> + <mxGeometry x="400" y="250" width="80" height="80" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="1" source="JXiLtSR4Z3VAab4H5BO8-44" target="JXiLtSR4Z3VAab4H5BO8-10"> + <mxCell id="BX6RDOaBGkcvAdUTXRfd-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="27hjxvRdXP5eaZgrt3Il-1" source="BX6RDOaBGkcvAdUTXRfd-1" target="BX6RDOaBGkcvAdUTXRfd-2"> <mxGeometry relative="1" as="geometry" /> </mxCell> - <mxCell id="JXiLtSR4Z3VAab4H5BO8-44" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="1"> - <mxGeometry x="300" y="1590" width="80" height="80" as="geometry" /> + <mxCell id="BX6RDOaBGkcvAdUTXRfd-1" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="27hjxvRdXP5eaZgrt3Il-1"> + <mxGeometry x="400" y="470" width="80" height="80" as="geometry" /> </mxCell> - <mxCell id="rDM5npk4WMzzq9nIs2zg-1" value="" style="ellipse;html=1;shape=endState;fillColor=strokeColor;" vertex="1" parent="1"> - <mxGeometry x="325" y="2100" width="30" height="30" as="geometry" /> + <mxCell id="BX6RDOaBGkcvAdUTXRfd-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="27hjxvRdXP5eaZgrt3Il-1" source="BX6RDOaBGkcvAdUTXRfd-2" target="BX6RDOaBGkcvAdUTXRfd-3"> + <mxGeometry relative="1" as="geometry" /> + </mxCell> + <mxCell id="BX6RDOaBGkcvAdUTXRfd-2" value="Update Particles" style="rounded=1;whiteSpace=wrap;html=1;" vertex="1" parent="27hjxvRdXP5eaZgrt3Il-1"> + <mxGeometry x="380" y="570" width="120" height="60" as="geometry" /> + </mxCell> + <mxCell id="BX6RDOaBGkcvAdUTXRfd-3" value="" style="rhombus;whiteSpace=wrap;html=1;" vertex="1" parent="27hjxvRdXP5eaZgrt3Il-1"> + <mxGeometry x="400" y="660" width="80" height="80" as="geometry" /> + </mxCell> + <mxCell id="BX6RDOaBGkcvAdUTXRfd-7" value="For all particle emitters loop" style="endArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;" edge="1" parent="27hjxvRdXP5eaZgrt3Il-1" source="BX6RDOaBGkcvAdUTXRfd-3" target="BX6RDOaBGkcvAdUTXRfd-0"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="560" y="680" as="sourcePoint" /> + <mxPoint x="610" y="630" as="targetPoint" /> + <Array as="points"> + <mxPoint x="320" y="700" /> + <mxPoint x="320" y="290" /> + </Array> + </mxGeometry> + </mxCell> + <mxCell id="BX6RDOaBGkcvAdUTXRfd-8" value="Not enough time has passed or<br>No particles available" style="endArrow=classic;html=1;rounded=0;edgeStyle=orthogonalEdgeStyle;" edge="1" parent="27hjxvRdXP5eaZgrt3Il-1" source="BX6RDOaBGkcvAdUTXRfd-0" target="BX6RDOaBGkcvAdUTXRfd-1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="600" y="320" as="sourcePoint" /> + <mxPoint x="650" y="270" as="targetPoint" /> + <Array as="points"> + <mxPoint x="600" y="290" /> + <mxPoint x="600" y="510" /> + </Array> + </mxGeometry> </mxCell> </root> </mxGraphModel> @@ -1493,7 +1741,7 @@ </mxGraphModel> </diagram> <diagram id="C5RBs43oDa-KdzZeNtuy" name="Old"> - <mxGraphModel dx="2195" dy="715" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0"> + <mxGraphModel dx="2062" dy="731" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0"> <root> <mxCell id="WIyWlLk6GJQsqaUBKTNV-0" /> <mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" /> @@ -2214,7 +2462,7 @@ </Array> </mxGeometry> </mxCell> - <mxCell id="R9gNofyh4d_rq5U6zAVz-0" value="" style="endArrow=block;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;strokeWidth=1;endSize=14;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="PVU13nk45NJB4w4DQgDw-185" target="PVU13nk45NJB4w4DQgDw-165" edge="1"> + <mxCell id="R9gNofyh4d_rq5U6zAVz-0" value="" style="endArrow=block;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;strokeWidth=1;endSize=14;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="PVU13nk45NJB4w4DQgDw-185" target="PVU13nk45NJB4w4DQgDw-165"> <mxGeometry width="50" height="50" relative="1" as="geometry"> <mxPoint x="970" y="175" as="sourcePoint" /> <mxPoint x="620" y="130" as="targetPoint" /> diff --git a/img/JetpackJoyride.jpg b/img/JetpackJoyride.jpg Binary files differnew file mode 100644 index 0000000..d1c0e9e --- /dev/null +++ b/img/JetpackJoyride.jpg diff --git a/notulen/wk9-1.txt b/notulen/wk9-1.txt new file mode 100644 index 0000000..f897d96 --- /dev/null +++ b/notulen/wk9-1.txt @@ -0,0 +1,54 @@ + Documents + Research Document + Continue adding research information + Project plan + - + Document standard + Add updates when needed + Requirement + physics sub-requirements -> Jaro write document + eventmanager sub-requirements -> Wouter write document + gameloop sub-requirements -> Wouter write document + ecs sub-requirements + particles sub-requirement -> Jaro write document + resourceManager sub-requirement -> Niels write document + rendering sub-requirement + script requirements added. + design document + API in design document + Game design + - + Git + Code standard -> LOEK update + Show updates + Code standard with examples not in main? -> niels + Environments + - + Research (POC) + [closed] research eventmanager -> Wouter POC is af + start research ui -> wouter POC uit + start research ai + start research playback -> Max + start research scenes -> Max + star research camera -> Niels POC + start research savedata -> loek + start research renderer -> niels (sprite & color & transform) POC simple (SDL_GPU voor efficiency verbetering) + [closed] start research physics Starting POC -> Jaro + More research about physics + [closed] start reasearch collision detection -> Jaro + [closed] start research particles Starting research -> Jaro (start lifetime. spawning area) + start poc animatie -> niels + Design + Adding design asset class -> niels + Adding design resource holder -> niels + How does a game designer make a scene? + Product + - + Test + - + Question Bob + mag de API gewoon een interface worden voor wat onderliggend een ECS is. + Overig + Timers voor systems (profiler van systems) + + diff --git a/sources.bib b/sources.bib index 7d7b6f7..0ff00a1 100644 --- a/sources.bib +++ b/sources.bib @@ -164,7 +164,7 @@ date = {2016} } -@misc{img:ECSBlockDiagram, +@misc{img:ecs-block-diag, title = {ECS Diagram}, author = {{Unity}}, url = {https://docs.unity3d.com/Packages/com.unity.entities@0.1/manual/images/ECSBlockDiagram.png}, @@ -194,3 +194,19 @@ date = {2024} } +@online{wikipedia:jetpack-joyride, + author = {{Wikipedia contributors}}, + title = {Jetpack Joyride --- {Wikipedia}{,} The Free Encyclopedia}, + year = {2024}, + url = {https://en.wikipedia.org/w/index.php?title=Jetpack_Joyride&oldid=1252734266}, + urldate = {2024-10-22}, +} + +@misc{img:jetpack-joyride, + title = {Jetpack Joyride}, + author = {Halbrick}, + url = {https://www.halfbrick.com/games/jetpack-joyride-2}, + date = {2024}, + urldate = {2024-10-22}, +} + @@ -91,6 +91,7 @@ loek: 2024-10-29 10m tooling :: documentation (fix plantuml theme errors) loek: 2024-10-30 30m project meeting (min/max component count constraints) loek: 2024-10-24 10m review :: PR review (#40, #41 and #42) loek: 2024-10-31 3h45m project meeting +loek: 2024-10-31 2h50m docs :: design :: POCs max: 2024-09-02 1h project kickoff max: 2024-09-02 45m first project meeting @@ -153,6 +154,9 @@ max: 2024-10-29 30m discussing paricles/physics/colliders with Jaro max: 2024-10-30 4h refacting class diagram max: 2024-10-30 1h50m added SceneManager design to class diagram max: 2024-10-30 2h added ReplaySystem design to class diagram +max: 2024-10-31 30m discussing with Jaro +max: 2024-10-31 3h45m fiftheent project meeting +max: 2024-10-31 3h30m creating chapter two of design wouter: 2024-09-02 1h project meeting :: project kickoff wouter: 2024-09-02 45m project meeting @@ -199,7 +203,11 @@ wouter: 2024-10-21 3h working on design document wouter: 2024-10-12 30m reviewing pull request logging wouter: 2024-10-24 1h20m project meeting wouter: 2024-10-25 2h added collision functionality to event manager - +wouter: 2024-10-28 2h added iKeyListener and iMouseListener to poc +wouter: 2024-10-29 20m discusing api change for UI objects +wouter: 2024-10-30 15m helping out with gameloop question +wouter: 2024-10-29 4h created diagrams for gameloop/events/inputs system +wouter: 2024-10-31 3h45m fiftheent project meeting niels: 2024-09-02 1h project meeting :: project kickoff |