aboutsummaryrefslogtreecommitdiff
path: root/.$figs.drawio.bkp
diff options
context:
space:
mode:
Diffstat (limited to '.$figs.drawio.bkp')
-rw-r--r--.$figs.drawio.bkp2650
1 files changed, 2650 insertions, 0 deletions
diff --git a/.$figs.drawio.bkp b/.$figs.drawio.bkp
new file mode 100644
index 0000000..32b089c
--- /dev/null
+++ b/.$figs.drawio.bkp
@@ -0,0 +1,2650 @@
+<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">
+ <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">
+ <root>
+ <mxCell id="0" />
+ <mxCell id="1" parent="0" />
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-10" value="&lt;&lt;abstract&gt;&gt;&#xa;Scene" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=39;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="926" y="1055" width="160" height="115" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-11" value="+name : 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=#0000FF;" parent="5-8bWhzpOWirDYeo3-Cj-10" vertex="1">
+ <mxGeometry y="39" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-12" 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-10" vertex="1">
+ <mxGeometry y="56" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-13" value="+Scene(string name)" 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-10" vertex="1">
+ <mxGeometry y="64" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-25" value="+~Scene() : virtual" 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-10" vertex="1">
+ <mxGeometry y="81" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-24" value="+load_scene() : virtual 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="5-8bWhzpOWirDYeo3-Cj-10" vertex="1">
+ <mxGeometry y="98" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-14" 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-10" target="ZHgyX9xX1EySbdOx-EKd-46" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="1290" y="1040" as="sourcePoint" />
+ <mxPoint x="1350" y="1084" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="1120" y="1120" />
+ <mxPoint x="1120" y="1120" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-15" value="+contents" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="5-8bWhzpOWirDYeo3-Cj-14" vertex="1" connectable="0">
+ <mxGeometry x="-0.1405" y="-1" relative="1" as="geometry">
+ <mxPoint x="-9" y="-11" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-16" value="1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="5-8bWhzpOWirDYeo3-Cj-14" vertex="1" connectable="0">
+ <mxGeometry x="-0.7119" y="-1" relative="1" as="geometry">
+ <mxPoint x="-3" y="14" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-17" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="5-8bWhzpOWirDYeo3-Cj-14" 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-54" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=diamondThin;endFill=1;strokeColor=#FF0000;" parent="1" source="5-8bWhzpOWirDYeo3-Cj-56" target="5-8bWhzpOWirDYeo3-Cj-170" edge="1">
+ <mxGeometry relative="1" as="geometry">
+ <Array as="points">
+ <mxPoint x="2180" y="870" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-55" value="1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="5-8bWhzpOWirDYeo3-Cj-54" vertex="1" connectable="0">
+ <mxGeometry x="-0.9593" y="-3" relative="1" as="geometry">
+ <mxPoint x="-7" y="-6" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-56" value="Transform" 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="2100" y="545" width="160" height="102" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-57" value="+position : Point" 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-56" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-58" value="+rotation : 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-56" vertex="1">
+ <mxGeometry y="43" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-59" value="+scale : 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-56" vertex="1">
+ <mxGeometry y="60" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-60" 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-56" vertex="1">
+ <mxGeometry y="77" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-61" 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-56" vertex="1">
+ <mxGeometry y="85" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-62" value="iMouseListener" 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="1670" y="1350" width="160" height="119" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-63" 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-62" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-64" 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-62" vertex="1">
+ <mxGeometry y="43" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-65" value="+OnMouseMoved()" 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-62" vertex="1">
+ <mxGeometry y="51" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-66" value="+OnMouseClicked()" 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-62" vertex="1">
+ <mxGeometry y="68" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-67" value="+OnMousePressed()" 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-62" vertex="1">
+ <mxGeometry y="85" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-68" value="+OnMouseReleased()" 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-62" vertex="1">
+ <mxGeometry y="102" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-69" value="iKeyListener" 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="1870" y="1350" width="160" height="85" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-70" 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-69" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-71" 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-69" vertex="1">
+ <mxGeometry y="43" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-72" value="+OnKeyPressed()" 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-69" vertex="1">
+ <mxGeometry y="51" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-73" value="+OnKeyReleased()" 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-69" vertex="1">
+ <mxGeometry y="68" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-74" value="Color" 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="1282" width="160" height="68" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-75" 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="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-76" 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-74" vertex="1">
+ <mxGeometry y="43" width="160" height="8" as="geometry" />
+ </mxCell>
+ <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">
+ <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>
+ <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>
+ <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" />
+ </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" />
+ </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" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-83" value="Time" 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="1012" width="70" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-84" value="Input" 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="942" width="70" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-85" value="AudioSource" 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="806" y="560" width="160" height="136" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-86" value="+audioClip : Resource" 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="5-8bWhzpOWirDYeo3-Cj-85" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-87" value="+playOnAwake : 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;" parent="5-8bWhzpOWirDYeo3-Cj-85" vertex="1">
+ <mxGeometry y="43" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-88" value="+loop : 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;" parent="5-8bWhzpOWirDYeo3-Cj-85" vertex="1">
+ <mxGeometry y="60" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-89" value="+volume" 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-85" vertex="1">
+ <mxGeometry y="77" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-90" 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-85" vertex="1">
+ <mxGeometry y="94" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-91" value="+set_play(looping) : 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;" parent="5-8bWhzpOWirDYeo3-Cj-85" vertex="1">
+ <mxGeometry y="102" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-92" value="+set_stop() : 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;" parent="5-8bWhzpOWirDYeo3-Cj-85" vertex="1">
+ <mxGeometry y="119" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-93" value="Collider" 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="1086" y="560" width="160" height="68" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-94" 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-93" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-95" 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-93" vertex="1">
+ <mxGeometry y="43" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-23" value="+~Collider() : virtual" 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-93" vertex="1">
+ <mxGeometry y="51" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-97" value="CircleCollider" 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="996" y="666" width="160" height="85" as="geometry">
+ <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">
+ <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">
+ <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">
+ <mxGeometry y="60" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-100" 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="68" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-101" value="BoxCollider" 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="1190" y="664" width="160" height="102" as="geometry">
+ <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">
+ <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">
+ <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">
+ <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">
+ <mxGeometry y="77" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-105" 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="85" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-106" value="Component" 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="1400" y="170" width="200" height="102" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-107" 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;" parent="5-8bWhzpOWirDYeo3-Cj-106" vertex="1">
+ <mxGeometry y="26" width="200" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-108" value="+gameObjectId : 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="5-8bWhzpOWirDYeo3-Cj-106" vertex="1">
+ <mxGeometry y="43" width="200" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-109" 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-106" vertex="1">
+ <mxGeometry y="60" width="200" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-110" value="+~Component() : virtual" 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-106" vertex="1">
+ <mxGeometry y="68" width="200" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-20" value="+get_instances_max() : virtual 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-106" vertex="1">
+ <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">
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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" />
+ </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" />
+ </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">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-118" 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-117" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-119" 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-117" vertex="1">
+ <mxGeometry y="43" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-120" value="+on_start() : 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;" parent="5-8bWhzpOWirDYeo3-Cj-117" vertex="1">
+ <mxGeometry y="51" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-121" value="+on_update() : 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;" parent="5-8bWhzpOWirDYeo3-Cj-117" vertex="1">
+ <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">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-123" value="+ shared_ptr&lt;Texture&gt; sprite_image" 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="5-8bWhzpOWirDYeo3-Cj-122" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-124" value="+ color : Color" 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-122" vertex="1">
+ <mxGeometry y="43" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-125" value="flip : FlipSettings" 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-122" vertex="1">
+ <mxGeometry y="60" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-127" value="+sortingLayer : uint8_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;" parent="5-8bWhzpOWirDYeo3-Cj-122" vertex="1">
+ <mxGeometry y="77" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-128" value="+orderInLayer : uint8_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;" parent="5-8bWhzpOWirDYeo3-Cj-122" vertex="1">
+ <mxGeometry y="94" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-129" 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-122" vertex="1">
+ <mxGeometry y="111" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-65" 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-122" vertex="1">
+ <mxGeometry y="119" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-131" value="Animator" 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=#FF0000;" parent="1" vertex="1">
+ <mxGeometry x="1880" y="653" width="170" height="85" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-132" value="+fps" 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-131" vertex="1">
+ <mxGeometry y="26" width="170" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-133" 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-131" vertex="1">
+ <mxGeometry y="43" width="170" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-134" value="+set_play(bool looping) : 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;" parent="5-8bWhzpOWirDYeo3-Cj-131" vertex="1">
+ <mxGeometry y="51" width="170" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-135" value="+set_stop() : 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;" parent="5-8bWhzpOWirDYeo3-Cj-131" vertex="1">
+ <mxGeometry y="68" width="170" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-136" value="" style="endArrow=none;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;startArrow=diamondThin;startFill=1;edgeStyle=orthogonalEdgeStyle;strokeColor=#FF0000;" parent="1" source="5-8bWhzpOWirDYeo3-Cj-170" target="5-8bWhzpOWirDYeo3-Cj-85" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="1350" y="980" as="sourcePoint" />
+ <mxPoint x="1190" y="870" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="880" y="870" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-137" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="5-8bWhzpOWirDYeo3-Cj-136" vertex="1" connectable="0">
+ <mxGeometry x="0.8037" y="-2" relative="1" as="geometry">
+ <mxPoint x="-17" y="-35" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-138" value="" style="endArrow=none;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;startArrow=diamondThin;startFill=1;edgeStyle=orthogonalEdgeStyle;strokeColor=#FF0000;" parent="1" source="5-8bWhzpOWirDYeo3-Cj-170" target="5-8bWhzpOWirDYeo3-Cj-97" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="1340" y="870" as="sourcePoint" />
+ <mxPoint x="1209" y="828" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="1076" y="860" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-139" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="5-8bWhzpOWirDYeo3-Cj-138" vertex="1" connectable="0">
+ <mxGeometry x="0.8037" y="-2" relative="1" as="geometry">
+ <mxPoint x="-16" y="-9" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-140" value="" style="endArrow=none;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;startArrow=diamondThin;startFill=1;edgeStyle=orthogonalEdgeStyle;strokeColor=#FF0000;" parent="1" source="5-8bWhzpOWirDYeo3-Cj-170" target="5-8bWhzpOWirDYeo3-Cj-101" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="1330" y="820" as="sourcePoint" />
+ <mxPoint x="1219" y="838" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="1270" y="800" />
+ <mxPoint x="1270" y="800" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-141" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="5-8bWhzpOWirDYeo3-Cj-140" vertex="1" connectable="0">
+ <mxGeometry x="0.8037" y="-2" relative="1" as="geometry">
+ <mxPoint x="-12" y="-1" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-142" value="" style="endArrow=none;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;startArrow=diamondThin;startFill=1;edgeStyle=orthogonalEdgeStyle;strokeColor=#FF0000;" parent="1" source="5-8bWhzpOWirDYeo3-Cj-170" target="5-8bWhzpOWirDYeo3-Cj-111" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="1394" y="1040" as="sourcePoint" />
+ <mxPoint x="1229" y="848" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="1450" y="790" />
+ <mxPoint x="1450" y="790" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-143" value="&lt;font color=&quot;#ff3333&quot;&gt;0..1&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="5-8bWhzpOWirDYeo3-Cj-142" vertex="1" connectable="0">
+ <mxGeometry x="0.8037" y="-2" relative="1" as="geometry">
+ <mxPoint x="-16" y="-11" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-144" value="" style="endArrow=none;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;startArrow=diamondThin;startFill=1;edgeStyle=orthogonalEdgeStyle;strokeColor=#FF0000;" parent="1" source="5-8bWhzpOWirDYeo3-Cj-170" target="5-8bWhzpOWirDYeo3-Cj-117" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="1404" y="1050" as="sourcePoint" />
+ <mxPoint x="1239" y="858" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="1600" y="820" />
+ <mxPoint x="1600" y="820" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-145" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="5-8bWhzpOWirDYeo3-Cj-144" vertex="1" connectable="0">
+ <mxGeometry x="0.8037" y="-2" relative="1" as="geometry">
+ <mxPoint x="-12" y="1" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-146" value="" style="endArrow=none;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;startArrow=diamondThin;startFill=1;edgeStyle=orthogonalEdgeStyle;strokeColor=#FF0000;" parent="1" source="5-8bWhzpOWirDYeo3-Cj-170" target="5-8bWhzpOWirDYeo3-Cj-122" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="1414" y="1060" as="sourcePoint" />
+ <mxPoint x="1249" y="868" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="1790" y="850" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-147" value="0..1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="5-8bWhzpOWirDYeo3-Cj-146" vertex="1" connectable="0">
+ <mxGeometry x="0.8037" y="-2" relative="1" as="geometry">
+ <mxPoint x="-16" y="-20" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-148" value="" style="endArrow=none;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;startArrow=diamondThin;startFill=1;edgeStyle=orthogonalEdgeStyle;strokeColor=#FF0000;" parent="1" source="5-8bWhzpOWirDYeo3-Cj-170" target="5-8bWhzpOWirDYeo3-Cj-131" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="1340" y="890" as="sourcePoint" />
+ <mxPoint x="1259" y="878" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="1960" y="860" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-149" value="0..*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="5-8bWhzpOWirDYeo3-Cj-148" vertex="1" connectable="0">
+ <mxGeometry x="0.8037" y="-2" relative="1" as="geometry">
+ <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" />
+ <mxPoint x="1350" y="460.0000000000001" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="866" y="250" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-154" 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" source="5-8bWhzpOWirDYeo3-Cj-93" target="5-8bWhzpOWirDYeo3-Cj-106" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="1410" y="708" as="sourcePoint" />
+ <mxPoint x="1537" y="620" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="1160" y="320" />
+ <mxPoint x="1410" y="320" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-155" 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-93" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="1115.9999999999998" y="666" as="sourcePoint" />
+ <mxPoint x="1115.9999999999998" y="628.0000000000002" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="1116" y="650" />
+ <mxPoint x="1116" y="650" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-156" 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" source="5-8bWhzpOWirDYeo3-Cj-101" target="5-8bWhzpOWirDYeo3-Cj-93" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="1096" y="808" as="sourcePoint" />
+ <mxPoint x="1223" y="720" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="1216" y="648" />
+ <mxPoint x="1216" y="648" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-157" 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" source="5-8bWhzpOWirDYeo3-Cj-111" target="5-8bWhzpOWirDYeo3-Cj-106" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="1540" y="698" as="sourcePoint" />
+ <mxPoint x="1667" y="610" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="1430" y="300" />
+ <mxPoint x="1430" y="300" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-158" 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" source="5-8bWhzpOWirDYeo3-Cj-117" target="5-8bWhzpOWirDYeo3-Cj-106" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="1630" y="786" as="sourcePoint" />
+ <mxPoint x="1757" y="698" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="1570" y="470" />
+ <mxPoint x="1570" y="470" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-159" 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" source="5-8bWhzpOWirDYeo3-Cj-122" target="5-8bWhzpOWirDYeo3-Cj-106" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="1950" y="490" as="sourcePoint" />
+ <mxPoint x="1600" y="474" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="1790" y="320" />
+ <mxPoint x="1590" y="320" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-160" value="ParticleSystem" 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="2210" y="1114.5" width="160" height="68" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-161" 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-160" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-162" 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-160" vertex="1">
+ <mxGeometry y="43" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-163" 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-160" vertex="1">
+ <mxGeometry y="51" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-168" 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;fontColor=#FF0000;strokeColor=#fa0000;" parent="1" source="5-8bWhzpOWirDYeo3-Cj-56" target="5-8bWhzpOWirDYeo3-Cj-106" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="2000" y="645" as="sourcePoint" />
+ <mxPoint x="1610" y="596" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="2180" y="230" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-169" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=open;endFill=0;strokeColor=#0000FF;" parent="1" source="5-8bWhzpOWirDYeo3-Cj-170" target="ZHgyX9xX1EySbdOx-EKd-46" edge="1">
+ <mxGeometry relative="1" as="geometry">
+ <Array as="points">
+ <mxPoint x="1430" y="1030" />
+ <mxPoint x="1430" y="1030" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-170" value="&lt;&lt;singleton&gt;&gt;&#xa;ComponentManager" 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;fontColor=#0000FF;strokeColor=#0000FF;" parent="1" vertex="1">
+ <mxGeometry x="1190" y="840" width="480" height="184" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-171" value="+components : unorded_map&lt;type_index, vector&lt;vector&lt;unique_ptr&lt;Component&gt;&gt;&gt;&gt;" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontFamily=Helvetica;fontSize=12;fontColor=#0000FF;strokeColor=none;" parent="5-8bWhzpOWirDYeo3-Cj-170" vertex="1">
+ <mxGeometry y="40" width="480" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-172" 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;fontColor=#0000FF;strokeColor=#0000FF;" parent="5-8bWhzpOWirDYeo3-Cj-170" vertex="1">
+ <mxGeometry y="57" width="480" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-173" value="+add_component&lt;T&gt;(uint32_t id, Args&amp;&amp;... args) : T&amp;" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;strokeColor=none;" parent="5-8bWhzpOWirDYeo3-Cj-170" vertex="1">
+ <mxGeometry y="65" width="480" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-174" value="+delete_components_by_id&lt;T&gt;(uint32_t id) : void" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;strokeColor=none;" parent="5-8bWhzpOWirDYeo3-Cj-170" vertex="1">
+ <mxGeometry y="82" width="480" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-70" value="+delete_components&lt;T&gt;() : void" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;strokeColor=none;" parent="5-8bWhzpOWirDYeo3-Cj-170" vertex="1">
+ <mxGeometry y="99" width="480" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="qlvXf-Lmlshk3J5vVLe--1" value="+delete_all_components_of_id(uint32_t id) : void" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;strokeColor=none;" parent="5-8bWhzpOWirDYeo3-Cj-170" vertex="1">
+ <mxGeometry y="116" width="480" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="qlvXf-Lmlshk3J5vVLe--2" value="+delete_all_components() : void" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;strokeColor=none;" parent="5-8bWhzpOWirDYeo3-Cj-170" vertex="1">
+ <mxGeometry y="133" width="480" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-175" value="+get_components_by_id&lt;T&gt;(uint32_t id) : vector&lt;T&amp;&gt;" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;strokeColor=none;" parent="5-8bWhzpOWirDYeo3-Cj-170" vertex="1">
+ <mxGeometry y="150" width="480" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="qlvXf-Lmlshk3J5vVLe--3" value="+get_components_by_type&lt;T&gt;() : vector&lt;T&amp;&gt;" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;strokeColor=none;" parent="5-8bWhzpOWirDYeo3-Cj-170" vertex="1">
+ <mxGeometry y="167" width="480" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-176" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;startArrow=open;startFill=0;endArrow=none;endFill=0;strokeColor=#0000FF;" parent="1" source="5-8bWhzpOWirDYeo3-Cj-177" target="5-8bWhzpOWirDYeo3-Cj-170" edge="1">
+ <mxGeometry relative="1" as="geometry">
+ <Array as="points">
+ <mxPoint x="1330" y="945" />
+ <mxPoint x="1330" y="945" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="5-8bWhzpOWirDYeo3-Cj-177" value="&lt;font color=&quot;#0000ff&quot;&gt;Systems&lt;/font&gt;" style="shape=folder;fontStyle=1;spacingTop=10;tabWidth=40;tabHeight=14;tabPosition=left;html=1;whiteSpace=wrap;strokeColor=#0000FF;" parent="1" vertex="1">
+ <mxGeometry x="1080" y="925" width="70" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="3iqK6Q-Owgr1maHwc76Q-3" 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" source="5-8bWhzpOWirDYeo3-Cj-131" target="5-8bWhzpOWirDYeo3-Cj-106" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="1840" y="520" as="sourcePoint" />
+ <mxPoint x="1614" y="480" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="1990" y="250" />
+ </Array>
+ </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">
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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" />
+ </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" />
+ </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">
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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" />
+ </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>
+ <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" />
+ </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">
+ <mxPoint x="2426" y="573" as="sourcePoint" />
+ <mxPoint x="2370" y="410" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="2360" y="210" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="V-ZVI1K5bxIVrfWjpJuH-21" 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;fontColor=#0000ff;labelBackgroundColor=#0000ff;strokeColor=#0000FF;" parent="1" source="V-ZVI1K5bxIVrfWjpJuH-1" target="V-ZVI1K5bxIVrfWjpJuH-7" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="2510" y="826" as="sourcePoint" />
+ <mxPoint x="2420" y="749" as="targetPoint" />
+ </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">
+ <mxGeometry x="0.6214" y="-1" relative="1" as="geometry">
+ <mxPoint x="-39" y="8" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="V-ZVI1K5bxIVrfWjpJuH-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=diamondThin;endFill=1;strokeColor=#0000FF;" parent="1" source="V-ZVI1K5bxIVrfWjpJuH-1" target="5-8bWhzpOWirDYeo3-Cj-170" edge="1">
+ <mxGeometry relative="1" as="geometry">
+ <mxPoint x="2190" y="657" as="sourcePoint" />
+ <mxPoint x="1510" y="927" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="2370" y="880" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="V-ZVI1K5bxIVrfWjpJuH-25" value="0..*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontColor=#000000;" parent="V-ZVI1K5bxIVrfWjpJuH-24" connectable="0" vertex="1">
+ <mxGeometry x="-0.9593" y="-3" relative="1" as="geometry">
+ <mxPoint x="-17" y="-6" as="offset" />
+ </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">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-2" value="+ bg_color : Color" 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="ZHgyX9xX1EySbdOx-EKd-1" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-3" value="+ aspect_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="ZHgyX9xX1EySbdOx-EKd-1" vertex="1">
+ <mxGeometry y="43" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="xyZsm_uoETzsuu8GtZ24-1" value="+ aspect_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;" vertex="1" parent="ZHgyX9xX1EySbdOx-EKd-1">
+ <mxGeometry y="60" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="xyZsm_uoETzsuu8GtZ24-2" value="+ x,y : 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;" vertex="1" parent="ZHgyX9xX1EySbdOx-EKd-1">
+ <mxGeometry y="77" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="xyZsm_uoETzsuu8GtZ24-3" value="+ zoom : 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;" vertex="1" parent="ZHgyX9xX1EySbdOx-EKd-1">
+ <mxGeometry y="94" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-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;" parent="ZHgyX9xX1EySbdOx-EKd-1" vertex="1">
+ <mxGeometry y="111" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-66" 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-1" vertex="1">
+ <mxGeometry y="119" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-7" 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;fontColor=#FF0000;strokeColor=#fa0000;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="ZHgyX9xX1EySbdOx-EKd-1" target="5-8bWhzpOWirDYeo3-Cj-106" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="2190" y="555" as="sourcePoint" />
+ <mxPoint x="1590" y="220" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="680" y="230" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-8" value="" style="endArrow=none;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;startArrow=diamondThin;startFill=1;edgeStyle=orthogonalEdgeStyle;strokeColor=#FF0000;" parent="1" source="5-8bWhzpOWirDYeo3-Cj-170" target="ZHgyX9xX1EySbdOx-EKd-1" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="1370" y="880" as="sourcePoint" />
+ <mxPoint x="890" y="706" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="680" y="880" />
+ </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">
+ <mxGeometry x="0.8037" y="-2" relative="1" as="geometry">
+ <mxPoint x="-16" y="-60" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-10" value="UIObject" 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="330" y="530" width="160" height="85" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-11" 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="ZHgyX9xX1EySbdOx-EKd-10" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-12" 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="ZHgyX9xX1EySbdOx-EKd-10" vertex="1">
+ <mxGeometry y="43" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-13" 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="ZHgyX9xX1EySbdOx-EKd-10" vertex="1">
+ <mxGeometry y="60" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-21" value="+~UIObject() : virtual" 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-10" vertex="1">
+ <mxGeometry y="68" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-15" value="Button" 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="240" y="670" width="160" height="85" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-16" value="+interactable&#xa;" 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="ZHgyX9xX1EySbdOx-EKd-15" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-17" value="+onClick" 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="ZHgyX9xX1EySbdOx-EKd-15" vertex="1">
+ <mxGeometry y="43" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-18" 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="ZHgyX9xX1EySbdOx-EKd-15" vertex="1">
+ <mxGeometry y="60" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-19" 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-15" vertex="1">
+ <mxGeometry y="68" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-20" value="Text" 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="424" y="670" width="160" height="136" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-21" value="+text" 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="ZHgyX9xX1EySbdOx-EKd-20" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-22" value="+font : 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;" parent="ZHgyX9xX1EySbdOx-EKd-20" vertex="1">
+ <mxGeometry y="43" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-23" value="+size : 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;" parent="ZHgyX9xX1EySbdOx-EKd-20" vertex="1">
+ <mxGeometry y="60" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-24" value="+allignment" 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="ZHgyX9xX1EySbdOx-EKd-20" vertex="1">
+ <mxGeometry y="77" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-25" value="+color" 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="ZHgyX9xX1EySbdOx-EKd-20" vertex="1">
+ <mxGeometry y="94" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-26" 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="ZHgyX9xX1EySbdOx-EKd-20" vertex="1">
+ <mxGeometry y="111" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-27" 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-20" vertex="1">
+ <mxGeometry y="119" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-28" 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" source="ZHgyX9xX1EySbdOx-EKd-20" target="ZHgyX9xX1EySbdOx-EKd-10" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="1125.9999999999998" y="676" as="sourcePoint" />
+ <mxPoint x="1125.9999999999998" y="638.0000000000002" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="470" y="650" />
+ <mxPoint x="470" y="650" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-29" 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" source="ZHgyX9xX1EySbdOx-EKd-15" target="ZHgyX9xX1EySbdOx-EKd-10" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="480" y="680" as="sourcePoint" />
+ <mxPoint x="480" y="625" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="370" y="660" />
+ <mxPoint x="370" y="660" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-30" 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;fontColor=#FF0000;strokeColor=#fa0000;" parent="1" source="ZHgyX9xX1EySbdOx-EKd-10" target="5-8bWhzpOWirDYeo3-Cj-106" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="690" y="587" as="sourcePoint" />
+ <mxPoint x="1430" y="210" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="410" y="210" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-31" value="" style="endArrow=none;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;startArrow=diamondThin;startFill=1;edgeStyle=orthogonalEdgeStyle;strokeColor=#FF0000;" parent="1" source="5-8bWhzpOWirDYeo3-Cj-170" target="ZHgyX9xX1EySbdOx-EKd-20" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="1370" y="890" as="sourcePoint" />
+ <mxPoint x="690" y="689" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="500" y="890" />
+ </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">
+ <mxGeometry x="0.8037" y="-2" relative="1" as="geometry">
+ <mxPoint x="-29" y="-68" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-33" value="" style="endArrow=none;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;startArrow=diamondThin;startFill=1;edgeStyle=orthogonalEdgeStyle;strokeColor=#FF0000;" parent="1" source="5-8bWhzpOWirDYeo3-Cj-170" target="ZHgyX9xX1EySbdOx-EKd-15" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="1370" y="900" as="sourcePoint" />
+ <mxPoint x="510" y="816" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="320" y="900" />
+ </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">
+ <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">
+ <mxRectangle x="990" y="673.5" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-36" value="+name : 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="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <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" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-56" value="+childs : vector&lt;uint32_t&gt;" 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" />
+ </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" />
+ </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" />
+ </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">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-63" value="+id : 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-46" vertex="1">
+ <mxGeometry y="26" width="534" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-50" 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=#000000;" parent="ZHgyX9xX1EySbdOx-EKd-46" vertex="1">
+ <mxGeometry y="43" width="534" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-67" value="+GameObject(uint32_t id, string naam, string tag, int layer, Point position, Point rotation, int scale)" 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-46" vertex="1">
+ <mxGeometry y="51" width="534" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-51" value="+add_component&lt;T&gt;(Args&amp;&amp;... args) : T&amp;" 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="ZHgyX9xX1EySbdOx-EKd-46" vertex="1">
+ <mxGeometry y="68" width="534" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-57" value="+set_parent(GameObject&amp; gameObject) : 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="ZHgyX9xX1EySbdOx-EKd-46" vertex="1">
+ <mxGeometry y="85" width="534" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-52" 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="ZHgyX9xX1EySbdOx-EKd-35" target="5-8bWhzpOWirDYeo3-Cj-106" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="2370" y="555" as="sourcePoint" />
+ <mxPoint x="1590" y="220" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="2860" y="190" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-53" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=diamondThin;endFill=1;strokeColor=#0000FF;" parent="1" source="ZHgyX9xX1EySbdOx-EKd-35" target="5-8bWhzpOWirDYeo3-Cj-170" edge="1">
+ <mxGeometry relative="1" as="geometry">
+ <mxPoint x="2380" y="742" as="sourcePoint" />
+ <mxPoint x="1510" y="910" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="2860" y="890" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="ZHgyX9xX1EySbdOx-EKd-54" value="1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontColor=#0000FF;" parent="ZHgyX9xX1EySbdOx-EKd-53" connectable="0" vertex="1">
+ <mxGeometry x="-0.9593" y="-3" relative="1" as="geometry">
+ <mxPoint x="-7" y="-16" as="offset" />
+ </mxGeometry>
+ </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" />
+ <Array as="points">
+ <mxPoint x="2990" y="611" />
+ <mxPoint x="2990" y="641" />
+ </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">
+ <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">
+ <mxGeometry y="1" relative="1" as="geometry">
+ <mxPoint x="-31" y="25" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-5" value="&lt;&lt;singleton&gt;&gt;&#xa;SceneManager" 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;fontColor=#0000FF;strokeColor=#0000FF;" parent="1" vertex="1">
+ <mxGeometry x="570" y="1049.5" width="310" height="133" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-6" value="+scenes : vector&lt;Scene&gt;" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontFamily=Helvetica;fontSize=12;fontColor=#0000FF;strokeColor=none;" parent="uXPUMNlN59CLM5qzZz-l-5" vertex="1">
+ <mxGeometry y="40" width="310" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-17" value="+nextScene : queue&lt;string&gt;" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontFamily=Helvetica;fontSize=12;fontColor=#0000FF;strokeColor=none;" parent="uXPUMNlN59CLM5qzZz-l-5" vertex="1">
+ <mxGeometry y="57" width="310" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-7" 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;fontColor=#0000FF;strokeColor=#0000FF;" parent="uXPUMNlN59CLM5qzZz-l-5" vertex="1">
+ <mxGeometry y="74" width="310" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-8" value="+add_scene(string name) : void" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;strokeColor=none;" parent="uXPUMNlN59CLM5qzZz-l-5" vertex="1">
+ <mxGeometry y="82" width="310" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-14" value="+load_scene(string name) : void" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;strokeColor=none;" parent="uXPUMNlN59CLM5qzZz-l-5" vertex="1">
+ <mxGeometry y="99" width="310" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-18" value="+empty_queue() : void" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;movable=1;resizable=1;deletable=1;editable=1;locked=0;connectable=1;fontColor=#0000FF;strokeColor=none;" parent="uXPUMNlN59CLM5qzZz-l-5" vertex="1">
+ <mxGeometry y="116" width="310" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=diamondThin;endFill=1;strokeColor=#0000FF;" parent="1" source="5-8bWhzpOWirDYeo3-Cj-10" target="uXPUMNlN59CLM5qzZz-l-5" edge="1">
+ <mxGeometry relative="1" as="geometry">
+ <mxPoint x="1570" y="1230" as="sourcePoint" />
+ <mxPoint x="1680" y="900" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="900" y="1120" />
+ <mxPoint x="900" y="1120" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-16" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontColor=#0000FF;" parent="uXPUMNlN59CLM5qzZz-l-15" connectable="0" vertex="1">
+ <mxGeometry x="-0.9593" y="-3" relative="1" as="geometry">
+ <mxPoint x="-7" y="-5" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-32" value="ConcreteScene" 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="920" y="1210" width="170" height="68" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-41" value=" " 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="uXPUMNlN59CLM5qzZz-l-32" vertex="1">
+ <mxGeometry y="26" width="170" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-38" 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="uXPUMNlN59CLM5qzZz-l-32" vertex="1">
+ <mxGeometry y="43" width="170" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-39" value="+load_scene() : 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="uXPUMNlN59CLM5qzZz-l-32" vertex="1">
+ <mxGeometry y="51" width="170" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-42" 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;fontColor=#0000FF;strokeColor=#0000FF;" parent="1" source="uXPUMNlN59CLM5qzZz-l-32" target="5-8bWhzpOWirDYeo3-Cj-10" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="1110" y="1226" as="sourcePoint" />
+ <mxPoint x="1110" y="1190" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="1005" y="1190" />
+ <mxPoint x="1005" y="1190" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-45" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;dashed=1;" parent="1" source="uXPUMNlN59CLM5qzZz-l-44" target="uXPUMNlN59CLM5qzZz-l-18" edge="1">
+ <mxGeometry relative="1" as="geometry">
+ <Array as="points">
+ <mxPoint x="740" y="1180" />
+ <mxPoint x="740" y="1180" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-44" value="The game programmer creates ConcreteScenes (e.g. each game level might be a seperate ConcreteScene). Each ConcreteScene consists of GameObject(s) with Component(s). The ConcreteScene describes the Scene&#39;s state at the start of the Scene. Components like Physics and Scripts allow the game programmer to change the Scene&#39;s state during runtime.&lt;br&gt;The game programmer must add her/his ConcreteScene(s) to the SceneManager, after creating the ConcreteScene.&lt;div&gt;The first Scene of the game, is the Scene which is firstly added to the SceneManager.&lt;br&gt;&lt;div&gt;The next Scene can be loaded using a Script. The Script can call load_scene() to load a new Scene. The next Scene is loaded (and the previous one is deleted), at the end of the frame.&lt;/div&gt;&lt;/div&gt;" style="shape=note;size=20;whiteSpace=wrap;html=1;align=left;verticalAlign=top;" parent="1" vertex="1">
+ <mxGeometry x="600" y="1210" width="280" height="260" as="geometry" />
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-46" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;dashed=1;" parent="1" source="uXPUMNlN59CLM5qzZz-l-32" target="uXPUMNlN59CLM5qzZz-l-44" edge="1">
+ <mxGeometry relative="1" as="geometry">
+ <mxPoint x="750" y="1220" as="sourcePoint" />
+ <mxPoint x="750" y="1193" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="890" y="1244" />
+ <mxPoint x="890" y="1244" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-47" value="The ComponentManager is the key player within the game engine.&lt;br&gt;The ComponentManager manages and takes care of all Components. The ComponentManager is the only owner of a Component.&lt;div&gt;The ComponentManager offers an easy way to add and delete a Component. It&#39;s also possible to delete all Components of the same type or id. However, the best feature of the ComponentManager is that it&#39;s very easy to retrieve the references to all Components of the same type. This last feature is constantly used at the Systems.&lt;/div&gt;" style="shape=note;size=20;whiteSpace=wrap;html=1;align=left;verticalAlign=top;" parent="1" vertex="1">
+ <mxGeometry x="1720" y="920" width="300" height="190" as="geometry" />
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-48" value="&lt;div&gt;&lt;div&gt;The GameObject is used as a dummy object for the game programmer. The GameObject&#39;s only goal is to create an easy/understandable interface for the game programmer. The GameObject&amp;nbsp;&lt;/div&gt;&lt;/div&gt;" style="shape=note;size=20;whiteSpace=wrap;html=1;align=left;verticalAlign=top;" parent="1" vertex="1">
+ <mxGeometry x="1397" y="1200" width="300" height="70" as="geometry" />
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-49" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;dashed=1;" parent="1" source="ZHgyX9xX1EySbdOx-EKd-46" target="uXPUMNlN59CLM5qzZz-l-48" edge="1">
+ <mxGeometry relative="1" as="geometry">
+ <mxPoint x="930" y="1254" as="sourcePoint" />
+ <mxPoint x="890" y="1254" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="1547" y="1180" />
+ <mxPoint x="1547" y="1180" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="uXPUMNlN59CLM5qzZz-l-50" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;dashed=1;" parent="1" source="5-8bWhzpOWirDYeo3-Cj-170" target="uXPUMNlN59CLM5qzZz-l-47" edge="1">
+ <mxGeometry relative="1" as="geometry">
+ <mxPoint x="1557" y="1177" as="sourcePoint" />
+ <mxPoint x="1557" y="1210" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="1680" y="950" />
+ <mxPoint x="1680" y="950" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="zPw24jWEZLqpMGPXK7nM-1" value="&lt;div&gt;&lt;div&gt;The Metadata Component stores metadata such as name, tag and layer. This data can be used in various systems and scripts.&lt;br&gt;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.&lt;/div&gt;&lt;/div&gt;" 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" />
+ </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" />
+ <Array as="points">
+ <mxPoint x="2960" y="690" />
+ <mxPoint x="2960" y="690" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="zPw24jWEZLqpMGPXK7nM-3" value="&lt;div&gt;&lt;div&gt;All Components inherits from the Component class.&lt;/div&gt;&lt;div&gt;The GameObjectId tells at which GameObject this Component belongs. The get_instantes_max() method returns the maximum amount of instances of a specific Component type per GameObject. A value of -1 is returned by default, meaning that there is not maximum.&lt;/div&gt;&lt;/div&gt;" style="shape=note;size=20;whiteSpace=wrap;html=1;align=left;verticalAlign=top;" parent="1" vertex="1">
+ <mxGeometry x="1350" y="30" width="300" height="100" as="geometry" />
+ </mxCell>
+ <mxCell id="zPw24jWEZLqpMGPXK7nM-4" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;dashed=1;" parent="1" source="5-8bWhzpOWirDYeo3-Cj-106" target="zPw24jWEZLqpMGPXK7nM-3" edge="1">
+ <mxGeometry relative="1" as="geometry">
+ <mxPoint x="1320" y="150" as="sourcePoint" />
+ <mxPoint x="1410" y="100" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="1500" y="150" />
+ <mxPoint x="1500" y="150" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ </root>
+ </mxGraphModel>
+ </diagram>
+ <diagram id="VIHL7wQS8aPE5ZAyjLTS" name="Systems">
+ <mxGraphModel dx="-560" dy="596" 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="cXXxZzA9SX6n7JXDILWO-1" value="ReplaySystem" 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;" vertex="1" parent="1">
+ <mxGeometry x="1760" y="79" width="260" height="119" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="cXXxZzA9SX6n7JXDILWO-6" value="UI : vector&lt;UIMemento&gt;" 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="cXXxZzA9SX6n7JXDILWO-1">
+ <mxGeometry y="26" width="260" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="CHqShTNGYbQWy_1IoP_C-2" value="Components : vector&lt;ComponentsMemento&gt;" 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="cXXxZzA9SX6n7JXDILWO-1">
+ <mxGeometry y="43" width="260" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="cXXxZzA9SX6n7JXDILWO-7" 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;" vertex="1" parent="cXXxZzA9SX6n7JXDILWO-1">
+ <mxGeometry y="60" width="260" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="cXXxZzA9SX6n7JXDILWO-8" value="+save() : 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;" vertex="1" parent="cXXxZzA9SX6n7JXDILWO-1">
+ <mxGeometry y="68" width="260" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="cXXxZzA9SX6n7JXDILWO-9" value="+update() : 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;" vertex="1" parent="cXXxZzA9SX6n7JXDILWO-1">
+ <mxGeometry y="85" width="260" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="CHqShTNGYbQWy_1IoP_C-1" value="+restore() : 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;" vertex="1" parent="cXXxZzA9SX6n7JXDILWO-1">
+ <mxGeometry y="102" width="260" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="cXXxZzA9SX6n7JXDILWO-10" value="UIMemento" 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;" vertex="1" parent="1">
+ <mxGeometry x="2080" y="59.5" width="160" height="68" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="cXXxZzA9SX6n7JXDILWO-11" value="???" 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="cXXxZzA9SX6n7JXDILWO-10">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="cXXxZzA9SX6n7JXDILWO-12" 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;" vertex="1" parent="cXXxZzA9SX6n7JXDILWO-10">
+ <mxGeometry y="43" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="cXXxZzA9SX6n7JXDILWO-13" value="+save() : 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;" vertex="1" parent="cXXxZzA9SX6n7JXDILWO-10">
+ <mxGeometry y="51" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="cXXxZzA9SX6n7JXDILWO-15" value="ComponentsMemento" 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;" vertex="1" parent="1">
+ <mxGeometry x="2080" y="149.5" width="480" height="68" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="cXXxZzA9SX6n7JXDILWO-16" value="+components : unorded_map&lt;type_index, vector&lt;vector&lt;unique_ptr&lt;Component&gt;&gt;&gt;&gt;" 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="cXXxZzA9SX6n7JXDILWO-15">
+ <mxGeometry y="26" width="480" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="cXXxZzA9SX6n7JXDILWO-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;fontColor=#0000FF;strokeColor=#0000FF;" vertex="1" parent="cXXxZzA9SX6n7JXDILWO-15">
+ <mxGeometry y="43" width="480" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="cXXxZzA9SX6n7JXDILWO-18" value="+save() : 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;" vertex="1" parent="cXXxZzA9SX6n7JXDILWO-15">
+ <mxGeometry y="51" width="480" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="X9CSDB0Mfs1c3MEAbiBr-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=diamondThin;endFill=1;strokeColor=#0000FF;" edge="1" parent="1" source="cXXxZzA9SX6n7JXDILWO-15" target="cXXxZzA9SX6n7JXDILWO-1">
+ <mxGeometry relative="1" as="geometry">
+ <mxPoint x="2630" y="140" as="sourcePoint" />
+ <mxPoint x="1440" y="332" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="2060" y="170" />
+ <mxPoint x="2060" y="170" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="X9CSDB0Mfs1c3MEAbiBr-2" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontColor=#0000FF;" connectable="0" vertex="1" parent="X9CSDB0Mfs1c3MEAbiBr-1">
+ <mxGeometry x="-0.9593" y="-3" relative="1" as="geometry">
+ <mxPoint x="-7" y="-11" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="X9CSDB0Mfs1c3MEAbiBr-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=diamondThin;endFill=1;strokeColor=#0000FF;" edge="1" parent="1" source="cXXxZzA9SX6n7JXDILWO-10" target="cXXxZzA9SX6n7JXDILWO-1">
+ <mxGeometry relative="1" as="geometry">
+ <mxPoint x="2090" y="180" as="sourcePoint" />
+ <mxPoint x="2030" y="180" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="2070" y="100" />
+ <mxPoint x="2070" y="100" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="X9CSDB0Mfs1c3MEAbiBr-4" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontColor=#0000FF;" connectable="0" vertex="1" parent="X9CSDB0Mfs1c3MEAbiBr-3">
+ <mxGeometry x="-0.9593" y="-3" relative="1" as="geometry">
+ <mxPoint x="-7" y="-11" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="qdE3wgv1g5p_rn1gBNF2-1" value="The ReplaySystem takes care of the replay functionality of the game. The game programmer can create a deep copy of all the Component using the save() method of the ReplaySystem. Calling this method, will instruct the ComponentsMemento to make a deep copy. Each update, the user inputs are saved using the UIMemento.&lt;br&gt;It&#39;s now possible to restore a saved ComponentsMemento and replay the game using the saved UIMementos." style="shape=note;size=20;whiteSpace=wrap;html=1;align=left;verticalAlign=top;" vertex="1" parent="1">
+ <mxGeometry x="1770" y="230" width="290" height="160" as="geometry" />
+ </mxCell>
+ <mxCell id="PqfyOcDjqIgEyB7C-kU8-1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;dashed=1;" edge="1" parent="1" source="qdE3wgv1g5p_rn1gBNF2-1" target="cXXxZzA9SX6n7JXDILWO-1">
+ <mxGeometry relative="1" as="geometry">
+ <mxPoint x="1500" y="170" as="sourcePoint" />
+ <mxPoint x="1500" y="130" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="1900" y="210" />
+ <mxPoint x="1900" y="210" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PqfyOcDjqIgEyB7C-kU8-2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=none;endFill=0;dashed=1;" edge="1" parent="1" source="qdE3wgv1g5p_rn1gBNF2-1" target="cXXxZzA9SX6n7JXDILWO-15">
+ <mxGeometry relative="1" as="geometry">
+ <mxPoint x="1910" y="240" as="sourcePoint" />
+ <mxPoint x="1910" y="208" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="2120" y="260" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ </root>
+ </mxGraphModel>
+ </diagram>
+ <diagram id="HarpljWlc_V1SPs2e7iR" name="Debug">
+ <mxGraphModel dx="1368" dy="715" 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" />
+ </root>
+ </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">
+ <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">
+ <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">
+ <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>
+ <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">
+ <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>
+ <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">
+ <Array as="points">
+ <mxPoint x="560" y="490" />
+ </Array>
+ </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">
+ <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>
+ <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">
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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">
+ <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>
+ <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">
+ <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">
+ <mxGeometry relative="1" as="geometry">
+ <Array as="points">
+ <mxPoint x="510" y="940" />
+ <mxPoint x="510" y="1200" />
+ </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>
+ <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">
+ <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>
+ <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">
+ <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">
+ <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>
+ <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">
+ <mxGeometry relative="1" as="geometry">
+ <Array as="points">
+ <mxPoint x="530" y="1950" />
+ </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>
+ <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>
+ <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">
+ <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>
+ <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">
+ <mxGeometry relative="1" as="geometry">
+ <Array as="points">
+ <mxPoint x="730" y="1950" />
+ </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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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>
+ <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">
+ <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>
+ <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">
+ <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">
+ <mxGeometry relative="1" as="geometry">
+ <Array as="points">
+ <mxPoint x="510" y="1340" />
+ <mxPoint x="510" y="1630" />
+ </Array>
+ </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" />
+ </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>
+ <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">
+ <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>
+ <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>
+ </root>
+ </mxGraphModel>
+ </diagram>
+ <diagram id="YIiIl2IRF6RgPQzV_9jG" name="Example">
+ <mxGraphModel dx="1434" dy="706" 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="0" />
+ <mxCell id="1" parent="0" />
+ <mxCell id="rDWCdEblCpn9XmIhacVI-1" value="example&#xa;" 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="160" y="70" width="160" height="68" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="rDWCdEblCpn9XmIhacVI-2" 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="rDWCdEblCpn9XmIhacVI-1" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="rDWCdEblCpn9XmIhacVI-3" 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="rDWCdEblCpn9XmIhacVI-1" vertex="1">
+ <mxGeometry y="43" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="rDWCdEblCpn9XmIhacVI-4" 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="rDWCdEblCpn9XmIhacVI-1" vertex="1">
+ <mxGeometry y="51" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="INcigVm9b0TAH9v99pnO-1" 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="1" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="200" y="200" as="sourcePoint" />
+ <mxPoint x="160" y="160" as="targetPoint" />
+ <Array as="points" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="BdnN9X1UdPwwrvRyySie-1" value="" style="endArrow=none;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;startArrow=diamondThin;startFill=1;" parent="1" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="280" y="200" as="sourcePoint" />
+ <mxPoint x="240" y="160" as="targetPoint" />
+ <Array as="points" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="wr2JkJuTEkJ5C-UpQk8J-1" 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;" parent="1" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="360" y="200" as="sourcePoint" />
+ <mxPoint x="320" y="160" as="targetPoint" />
+ <Array as="points" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="oRUFz-RLu-avQMRJHf4n-1" value="" style="endArrow=none;html=1;rounded=0;" parent="1" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="440" y="200" as="sourcePoint" />
+ <mxPoint x="400" y="160" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ </root>
+ </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">
+ <root>
+ <mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
+ <mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
+ <mxCell id="zkfFHV4jXpPFQw0GAbJ--6" 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;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="320" y="540" width="160" height="153" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="zkfFHV4jXpPFQw0GAbJ--7" value="+name" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;movable=0;resizable=0;deletable=0;editable=0;locked=1;connectable=0;" parent="zkfFHV4jXpPFQw0GAbJ--6" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="zkfFHV4jXpPFQw0GAbJ--8" value="+tag" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;movable=0;resizable=0;deletable=0;editable=0;locked=1;connectable=0;" parent="zkfFHV4jXpPFQw0GAbJ--6" vertex="1">
+ <mxGeometry y="43" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-1" value="+active" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;strokeWidth=1;horizontal=1;movable=0;resizable=0;deletable=0;editable=0;locked=1;connectable=0;" parent="zkfFHV4jXpPFQw0GAbJ--6" vertex="1">
+ <mxGeometry y="60" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-2" value="+layer" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;movable=0;resizable=0;deletable=0;editable=0;locked=1;connectable=0;" parent="zkfFHV4jXpPFQw0GAbJ--6" vertex="1">
+ <mxGeometry y="77" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="zkfFHV4jXpPFQw0GAbJ--9" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;fontSize=12;perimeterSpacing=0;movable=0;resizable=0;deletable=0;editable=0;locked=1;connectable=0;" parent="zkfFHV4jXpPFQw0GAbJ--6" vertex="1">
+ <mxGeometry y="94" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="zkfFHV4jXpPFQw0GAbJ--11" value="+AddComponent()" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;movable=0;resizable=0;deletable=0;editable=0;locked=1;connectable=0;" parent="zkfFHV4jXpPFQw0GAbJ--6" vertex="1">
+ <mxGeometry y="102" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-3" value="+IsActiveInWorld()" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;movable=0;resizable=0;deletable=0;editable=0;locked=1;connectable=0;" parent="zkfFHV4jXpPFQw0GAbJ--6" vertex="1">
+ <mxGeometry y="119" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-4" value="+IsActiveSelf()" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;movable=0;resizable=0;deletable=0;editable=0;locked=1;connectable=0;" parent="zkfFHV4jXpPFQw0GAbJ--6" vertex="1">
+ <mxGeometry y="136" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-9" value="Scene" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="40" y="590" width="160" height="68" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-82" 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="PVU13nk45NJB4w4DQgDw-9" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-14" 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="PVU13nk45NJB4w4DQgDw-9" vertex="1">
+ <mxGeometry y="43" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-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="PVU13nk45NJB4w4DQgDw-9" vertex="1">
+ <mxGeometry y="51" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-28" 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;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="PVU13nk45NJB4w4DQgDw-9" target="zkfFHV4jXpPFQw0GAbJ--6" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="260" y="580" as="sourcePoint" />
+ <mxPoint x="290" y="590" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="320" y="625" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-39" value="+contents" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="PVU13nk45NJB4w4DQgDw-28" vertex="1" connectable="0">
+ <mxGeometry x="-0.1405" y="-1" relative="1" as="geometry">
+ <mxPoint y="-17" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-40" value="1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="PVU13nk45NJB4w4DQgDw-28" vertex="1" connectable="0">
+ <mxGeometry x="-0.7119" y="-1" relative="1" as="geometry">
+ <mxPoint y="14" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-41" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="PVU13nk45NJB4w4DQgDw-28" 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="PVU13nk45NJB4w4DQgDw-34" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="40" y="760" width="160" height="102" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-78" value="+backgroundColor" 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="PVU13nk45NJB4w4DQgDw-34" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-77" value="+ascpectWidth" 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="PVU13nk45NJB4w4DQgDw-34" vertex="1">
+ <mxGeometry y="43" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-35" value="+ascpectHeight" 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="PVU13nk45NJB4w4DQgDw-34" vertex="1">
+ <mxGeometry y="60" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-36" 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="PVU13nk45NJB4w4DQgDw-34" vertex="1">
+ <mxGeometry y="77" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-37" value="-" 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="PVU13nk45NJB4w4DQgDw-34" vertex="1">
+ <mxGeometry y="85" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-46" 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;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="PVU13nk45NJB4w4DQgDw-34" target="PVU13nk45NJB4w4DQgDw-9" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="210" y="635" as="sourcePoint" />
+ <mxPoint x="140" y="660" as="targetPoint" />
+ <Array as="points" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-47" value="+renderScene" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="PVU13nk45NJB4w4DQgDw-46" vertex="1" connectable="0">
+ <mxGeometry x="-0.1405" y="-1" relative="1" as="geometry">
+ <mxPoint x="-41" y="-6" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-48" value="1..*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="PVU13nk45NJB4w4DQgDw-46" vertex="1" connectable="0">
+ <mxGeometry x="-0.7119" y="-1" relative="1" as="geometry">
+ <mxPoint x="-21" y="4" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-49" value="1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="PVU13nk45NJB4w4DQgDw-46" vertex="1" connectable="0">
+ <mxGeometry x="0.6214" y="-1" relative="1" as="geometry">
+ <mxPoint x="9" y="-9" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-50" 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-34" target="zkfFHV4jXpPFQw0GAbJ--6" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="130" y="770" as="sourcePoint" />
+ <mxPoint x="290" y="670" as="targetPoint" />
+ <Array as="points" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-54" value="UIObject" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="320" y="740" width="160" height="85" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-86" 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="PVU13nk45NJB4w4DQgDw-54" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-55" 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="PVU13nk45NJB4w4DQgDw-54" vertex="1">
+ <mxGeometry y="43" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-56" 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="PVU13nk45NJB4w4DQgDw-54" vertex="1">
+ <mxGeometry y="60" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-85" 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="PVU13nk45NJB4w4DQgDw-54" vertex="1">
+ <mxGeometry y="68" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-58" value="Button" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="230" y="880" width="160" height="85" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-87" value="+interactable&#xa;" 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="PVU13nk45NJB4w4DQgDw-58" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-59" value="+onClick" 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="PVU13nk45NJB4w4DQgDw-58" vertex="1">
+ <mxGeometry y="43" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-60" 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="PVU13nk45NJB4w4DQgDw-58" vertex="1">
+ <mxGeometry y="60" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-83" 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="PVU13nk45NJB4w4DQgDw-58" vertex="1">
+ <mxGeometry y="68" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-62" value="Text" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="414" y="880" width="160" height="136" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-93" value="+text" 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="PVU13nk45NJB4w4DQgDw-62" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-92" value="+font: 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;" parent="PVU13nk45NJB4w4DQgDw-62" vertex="1">
+ <mxGeometry y="43" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-91" value="+size: 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;" parent="PVU13nk45NJB4w4DQgDw-62" vertex="1">
+ <mxGeometry y="60" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-90" value="+allignment" 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="PVU13nk45NJB4w4DQgDw-62" vertex="1">
+ <mxGeometry y="77" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-89" value="+color" 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="PVU13nk45NJB4w4DQgDw-62" vertex="1">
+ <mxGeometry y="94" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-64" 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="PVU13nk45NJB4w4DQgDw-62" vertex="1">
+ <mxGeometry y="111" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-84" 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="PVU13nk45NJB4w4DQgDw-62" vertex="1">
+ <mxGeometry y="119" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-66" 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-54" target="zkfFHV4jXpPFQw0GAbJ--6" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="210" y="770" as="sourcePoint" />
+ <mxPoint x="330" y="678" as="targetPoint" />
+ <Array as="points" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-67" 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-58" target="PVU13nk45NJB4w4DQgDw-54" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="195" y="780" as="sourcePoint" />
+ <mxPoint x="384" y="810" as="targetPoint" />
+ <Array as="points" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-68" 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-62" target="PVU13nk45NJB4w4DQgDw-54" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="205" y="790" as="sourcePoint" />
+ <mxPoint x="350" y="698" as="targetPoint" />
+ <Array as="points" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-102" value="" style="endArrow=open;html=1;rounded=0;strokeColor=default;align=center;verticalAlign=middle;fontFamily=Helvetica;fontSize=11;fontColor=default;labelBackgroundColor=default;resizable=1;endFill=0;endSize=8;" parent="WIyWlLk6GJQsqaUBKTNV-1" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="480" y="640" as="sourcePoint" />
+ <mxPoint x="480" y="680" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="520" y="640" />
+ <mxPoint x="520" y="680" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-103" value="+parent &amp;gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="PVU13nk45NJB4w4DQgDw-102" vertex="1" connectable="0">
+ <mxGeometry x="-0.719" y="3" relative="1" as="geometry">
+ <mxPoint x="13" y="-4" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-104" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="PVU13nk45NJB4w4DQgDw-102" vertex="1" connectable="0">
+ <mxGeometry x="-0.0905" y="1" relative="1" as="geometry">
+ <mxPoint x="-31" y="-5" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-105" value="0..1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="PVU13nk45NJB4w4DQgDw-102" vertex="1" connectable="0">
+ <mxGeometry y="1" relative="1" as="geometry">
+ <mxPoint x="-21" y="30" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-106" value="Transform" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="560" y="565.5" width="160" height="102" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-111" 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;" parent="PVU13nk45NJB4w4DQgDw-106" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-110" value="+rotation" 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="PVU13nk45NJB4w4DQgDw-106" vertex="1">
+ <mxGeometry y="43" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-107" value="+scale" 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="PVU13nk45NJB4w4DQgDw-106" vertex="1">
+ <mxGeometry y="60" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-108" 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="PVU13nk45NJB4w4DQgDw-106" vertex="1">
+ <mxGeometry y="77" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-109" 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="PVU13nk45NJB4w4DQgDw-106" vertex="1">
+ <mxGeometry y="85" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-112" value="" style="endArrow=none;html=1;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zkfFHV4jXpPFQw0GAbJ--6" target="PVU13nk45NJB4w4DQgDw-106" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="510" y="610" as="sourcePoint" />
+ <mxPoint x="560" y="560" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-113" value="iMouseListener" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="640" y="880" width="160" height="119" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-114" 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="PVU13nk45NJB4w4DQgDw-113" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-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="PVU13nk45NJB4w4DQgDw-113" vertex="1">
+ <mxGeometry y="43" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-116" value="+OnMouseMoved()" 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="PVU13nk45NJB4w4DQgDw-113" vertex="1">
+ <mxGeometry y="51" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-121" value="+OnMouseClicked()" 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="PVU13nk45NJB4w4DQgDw-113" vertex="1">
+ <mxGeometry y="68" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-122" value="+OnMousePressed()" 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="PVU13nk45NJB4w4DQgDw-113" vertex="1">
+ <mxGeometry y="85" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-123" value="+OnMouseReleased()" 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="PVU13nk45NJB4w4DQgDw-113" vertex="1">
+ <mxGeometry y="102" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-117" value="iKeyListener" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="840" y="880" width="160" height="85" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-118" 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="PVU13nk45NJB4w4DQgDw-117" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-119" 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="PVU13nk45NJB4w4DQgDw-117" vertex="1">
+ <mxGeometry y="43" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-120" value="+OnKeyPressed()" 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="PVU13nk45NJB4w4DQgDw-117" vertex="1">
+ <mxGeometry y="51" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-124" value="+OnKeyReleased()" 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="PVU13nk45NJB4w4DQgDw-117" vertex="1">
+ <mxGeometry y="68" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-125" value="Color" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="-200" y="760" width="160" height="68" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-126" 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="PVU13nk45NJB4w4DQgDw-125" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-127" 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="PVU13nk45NJB4w4DQgDw-125" vertex="1">
+ <mxGeometry y="43" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-128" 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="PVU13nk45NJB4w4DQgDw-125" vertex="1">
+ <mxGeometry y="51" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-129" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="-200" y="650" width="160" height="68" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-130" 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="PVU13nk45NJB4w4DQgDw-129" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-131" 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="PVU13nk45NJB4w4DQgDw-129" vertex="1">
+ <mxGeometry y="43" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-132" 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="PVU13nk45NJB4w4DQgDw-129" vertex="1">
+ <mxGeometry y="51" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-133" value="Debug" style="shape=folder;fontStyle=1;spacingTop=10;tabWidth=40;tabHeight=14;tabPosition=left;html=1;whiteSpace=wrap;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="-200" y="560" width="70" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-135" value="Time" style="shape=folder;fontStyle=1;spacingTop=10;tabWidth=40;tabHeight=14;tabPosition=left;html=1;whiteSpace=wrap;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="-200" y="490" width="70" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-136" value="Input" style="shape=folder;fontStyle=1;spacingTop=10;tabWidth=40;tabHeight=14;tabPosition=left;html=1;whiteSpace=wrap;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="-200" y="420" width="70" height="40" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-138" value="AudioSource" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="30" y="212" width="160" height="136" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-142" value="+audioClip: Resource* (was 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="PVU13nk45NJB4w4DQgDw-138" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-143" value="+playOnAwake: Boolean" 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="PVU13nk45NJB4w4DQgDw-138" vertex="1">
+ <mxGeometry y="43" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-144" value="+loop: Boolean" 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="PVU13nk45NJB4w4DQgDw-138" vertex="1">
+ <mxGeometry y="60" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-145" value="+volume" 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="PVU13nk45NJB4w4DQgDw-138" vertex="1">
+ <mxGeometry y="77" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-140" 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="PVU13nk45NJB4w4DQgDw-138" vertex="1">
+ <mxGeometry y="94" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-141" value="+Play(looping)" 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="PVU13nk45NJB4w4DQgDw-138" vertex="1">
+ <mxGeometry y="102" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-150" value="+Stop()" 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="PVU13nk45NJB4w4DQgDw-138" vertex="1">
+ <mxGeometry y="119" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-152" value="Collider" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="310" y="212" width="160" height="68" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-153" 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="PVU13nk45NJB4w4DQgDw-152" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-154" 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="PVU13nk45NJB4w4DQgDw-152" vertex="1">
+ <mxGeometry y="43" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-155" 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="PVU13nk45NJB4w4DQgDw-152" vertex="1">
+ <mxGeometry y="51" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-156" value="CircleCollider" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="220" y="318" width="160" height="68" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-157" 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="PVU13nk45NJB4w4DQgDw-156" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-158" 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="PVU13nk45NJB4w4DQgDw-156" vertex="1">
+ <mxGeometry y="43" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-159" 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="PVU13nk45NJB4w4DQgDw-156" vertex="1">
+ <mxGeometry y="51" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-160" value="BoxCollider" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="414" y="316" width="160" height="85" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-164" 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="PVU13nk45NJB4w4DQgDw-160" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-161" 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="PVU13nk45NJB4w4DQgDw-160" vertex="1">
+ <mxGeometry y="43" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-162" 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="PVU13nk45NJB4w4DQgDw-160" vertex="1">
+ <mxGeometry y="60" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-163" 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="PVU13nk45NJB4w4DQgDw-160" vertex="1">
+ <mxGeometry y="68" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-165" value="Component" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="414" y="70" width="160" height="85" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-166" value="+active: Boolean" 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="PVU13nk45NJB4w4DQgDw-165" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="hOwEYaqcqL4qR9W6SRz6-1" value="+gameObjectId: 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;" parent="PVU13nk45NJB4w4DQgDw-165" vertex="1">
+ <mxGeometry y="43" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-167" 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="PVU13nk45NJB4w4DQgDw-165" vertex="1">
+ <mxGeometry y="60" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-168" 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="PVU13nk45NJB4w4DQgDw-165" vertex="1">
+ <mxGeometry y="68" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-169" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="550" y="195" width="160" height="102" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-174" 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="PVU13nk45NJB4w4DQgDw-169" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-173" 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="PVU13nk45NJB4w4DQgDw-169" vertex="1">
+ <mxGeometry y="43" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-170" 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="PVU13nk45NJB4w4DQgDw-169" vertex="1">
+ <mxGeometry y="60" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-171" 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="PVU13nk45NJB4w4DQgDw-169" vertex="1">
+ <mxGeometry y="77" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-172" 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="PVU13nk45NJB4w4DQgDw-169" vertex="1">
+ <mxGeometry y="85" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-175" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="690" y="316" width="160" height="85" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-176" 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="PVU13nk45NJB4w4DQgDw-175" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-177" 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="PVU13nk45NJB4w4DQgDw-175" vertex="1">
+ <mxGeometry y="43" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-178" value="+OnStart()" 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="PVU13nk45NJB4w4DQgDw-175" vertex="1">
+ <mxGeometry y="51" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-179" value="+OnUpdate()" 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="PVU13nk45NJB4w4DQgDw-175" vertex="1">
+ <mxGeometry y="68" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-180" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="880" y="165" width="160" height="153" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-199" value="+sprite:Resource* (WasString)" 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="PVU13nk45NJB4w4DQgDw-180" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-198" value="+color" 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="PVU13nk45NJB4w4DQgDw-180" vertex="1">
+ <mxGeometry y="43" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-197" value="+flipX" 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="PVU13nk45NJB4w4DQgDw-180" vertex="1">
+ <mxGeometry y="60" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-196" value="+flipY" 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="PVU13nk45NJB4w4DQgDw-180" vertex="1">
+ <mxGeometry y="77" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-195" value="+sortingLayer" 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="PVU13nk45NJB4w4DQgDw-180" vertex="1">
+ <mxGeometry y="94" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-181" value="+orderInLayer" 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="PVU13nk45NJB4w4DQgDw-180" vertex="1">
+ <mxGeometry y="111" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-182" 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="PVU13nk45NJB4w4DQgDw-180" vertex="1">
+ <mxGeometry y="128" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-183" value="+Render()" 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="PVU13nk45NJB4w4DQgDw-180" vertex="1">
+ <mxGeometry y="136" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-185" value="Animator" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="1050" y="318" width="160" height="85" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-186" value="+fps" 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="PVU13nk45NJB4w4DQgDw-185" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-187" 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="PVU13nk45NJB4w4DQgDw-185" vertex="1">
+ <mxGeometry y="43" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-188" value="+Play(looping)" 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="PVU13nk45NJB4w4DQgDw-185" vertex="1">
+ <mxGeometry y="51" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="PVU13nk45NJB4w4DQgDw-189" value="+Stop()" 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="PVU13nk45NJB4w4DQgDw-185" vertex="1">
+ <mxGeometry y="68" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-4" value="" style="endArrow=none;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;startArrow=diamondThin;startFill=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zkfFHV4jXpPFQw0GAbJ--6" target="PVU13nk45NJB4w4DQgDw-138" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="320" y="510" as="sourcePoint" />
+ <mxPoint x="160" y="400" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="320" y="520" />
+ <mxPoint x="110" y="520" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-9" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="GgpaCZaR6PRI7i0rwrCe-4" vertex="1" connectable="0">
+ <mxGeometry x="0.8037" y="-2" relative="1" as="geometry">
+ <mxPoint x="-16" y="-4" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-10" value="" style="endArrow=none;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;startArrow=diamondThin;startFill=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zkfFHV4jXpPFQw0GAbJ--6" target="PVU13nk45NJB4w4DQgDw-156" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="344" y="550" as="sourcePoint" />
+ <mxPoint x="179" y="358" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="330" y="490" />
+ <mxPoint x="300" y="490" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-11" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="GgpaCZaR6PRI7i0rwrCe-10" vertex="1" connectable="0">
+ <mxGeometry x="0.8037" y="-2" relative="1" as="geometry">
+ <mxPoint x="-16" y="-4" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-12" value="" style="endArrow=none;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;startArrow=diamondThin;startFill=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zkfFHV4jXpPFQw0GAbJ--6" target="PVU13nk45NJB4w4DQgDw-160" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="354" y="560" as="sourcePoint" />
+ <mxPoint x="189" y="368" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="470" y="440" />
+ <mxPoint x="494" y="440" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-13" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="GgpaCZaR6PRI7i0rwrCe-12" vertex="1" connectable="0">
+ <mxGeometry x="0.8037" y="-2" relative="1" as="geometry">
+ <mxPoint x="-16" y="-4" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-14" value="" style="endArrow=none;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;startArrow=diamondThin;startFill=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zkfFHV4jXpPFQw0GAbJ--6" target="PVU13nk45NJB4w4DQgDw-169" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="364" y="570" as="sourcePoint" />
+ <mxPoint x="199" y="378" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="500" y="460" />
+ <mxPoint x="630" y="460" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-15" value="&lt;font color=&quot;#ff3333&quot;&gt;0..1&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="GgpaCZaR6PRI7i0rwrCe-14" vertex="1" connectable="0">
+ <mxGeometry x="0.8037" y="-2" relative="1" as="geometry">
+ <mxPoint x="-16" y="-26" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-16" value="" style="endArrow=none;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;startArrow=diamondThin;startFill=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zkfFHV4jXpPFQw0GAbJ--6" target="PVU13nk45NJB4w4DQgDw-175" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="374" y="580" as="sourcePoint" />
+ <mxPoint x="209" y="388" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="520" y="480" />
+ <mxPoint x="770" y="480" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-17" value="*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="GgpaCZaR6PRI7i0rwrCe-16" vertex="1" connectable="0">
+ <mxGeometry x="0.8037" y="-2" relative="1" as="geometry">
+ <mxPoint x="-12" y="-21" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-18" value="" style="endArrow=none;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;startArrow=diamondThin;startFill=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zkfFHV4jXpPFQw0GAbJ--6" target="PVU13nk45NJB4w4DQgDw-180" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="384" y="590" as="sourcePoint" />
+ <mxPoint x="219" y="398" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="540" y="500" />
+ <mxPoint x="960" y="500" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-19" value="0..1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="GgpaCZaR6PRI7i0rwrCe-18" vertex="1" connectable="0">
+ <mxGeometry x="0.8037" y="-2" relative="1" as="geometry">
+ <mxPoint x="-16" y="-45" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-20" value="" style="endArrow=none;html=1;rounded=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;endFill=0;endSize=8;startArrow=diamondThin;startFill=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zkfFHV4jXpPFQw0GAbJ--6" target="PVU13nk45NJB4w4DQgDw-185" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="394" y="600" as="sourcePoint" />
+ <mxPoint x="229" y="408" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="560" y="520" />
+ <mxPoint x="1130" y="520" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-21" value="0..*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="GgpaCZaR6PRI7i0rwrCe-20" vertex="1" connectable="0">
+ <mxGeometry x="0.8037" y="-2" relative="1" as="geometry">
+ <mxPoint x="-16" y="-50" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-24" 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;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="PVU13nk45NJB4w4DQgDw-185" target="PVU13nk45NJB4w4DQgDw-180" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="960" y="439.38" as="sourcePoint" />
+ <mxPoint x="1220" y="440" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="1130" y="240" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-26" value="0..1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="GgpaCZaR6PRI7i0rwrCe-24" 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="GgpaCZaR6PRI7i0rwrCe-27" value="1..*" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="GgpaCZaR6PRI7i0rwrCe-24" 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="GgpaCZaR6PRI7i0rwrCe-28" 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-138" target="PVU13nk45NJB4w4DQgDw-165" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="203" y="770" as="sourcePoint" />
+ <mxPoint x="330" y="682" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="110" y="160" />
+ <mxPoint x="380" y="160" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-29" 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-152" target="PVU13nk45NJB4w4DQgDw-165" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="380" y="358" as="sourcePoint" />
+ <mxPoint x="507" y="270" as="targetPoint" />
+ <Array as="points" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-31" 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-156" target="PVU13nk45NJB4w4DQgDw-152" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="250" y="358" as="sourcePoint" />
+ <mxPoint x="377" y="270" as="targetPoint" />
+ <Array as="points" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-32" 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-160" target="PVU13nk45NJB4w4DQgDw-152" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="320" y="460" as="sourcePoint" />
+ <mxPoint x="447" y="372" as="targetPoint" />
+ <Array as="points" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-33" 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-169" target="PVU13nk45NJB4w4DQgDw-165" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="510" y="348" as="sourcePoint" />
+ <mxPoint x="637" y="260" as="targetPoint" />
+ <Array as="points" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-34" 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-175" target="PVU13nk45NJB4w4DQgDw-165" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="600" y="436" as="sourcePoint" />
+ <mxPoint x="727" y="348" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="770" y="160" />
+ <mxPoint x="590" y="160" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-36" 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-180" target="PVU13nk45NJB4w4DQgDw-165" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="920" y="140" as="sourcePoint" />
+ <mxPoint x="570" y="124" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="960" y="116" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-37" value="ParticleSystem" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="950" y="620" width="160" height="68" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-38" 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="GgpaCZaR6PRI7i0rwrCe-37" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-39" 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="GgpaCZaR6PRI7i0rwrCe-37" vertex="1">
+ <mxGeometry y="43" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-40" 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="GgpaCZaR6PRI7i0rwrCe-37" vertex="1">
+ <mxGeometry y="51" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-45" value="PolygonCollider" 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="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
+ <mxGeometry x="950" y="718" width="160" height="68" as="geometry">
+ <mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-46" 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="GgpaCZaR6PRI7i0rwrCe-45" vertex="1">
+ <mxGeometry y="26" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-47" 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="GgpaCZaR6PRI7i0rwrCe-45" vertex="1">
+ <mxGeometry y="43" width="160" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="GgpaCZaR6PRI7i0rwrCe-48" 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="GgpaCZaR6PRI7i0rwrCe-45" vertex="1">
+ <mxGeometry y="51" width="160" height="17" as="geometry" />
+ </mxCell>
+ <mxCell id="hOwEYaqcqL4qR9W6SRz6-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;edgeStyle=orthogonalEdgeStyle;fontColor=#FF0000;strokeColor=#fa0000;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="PVU13nk45NJB4w4DQgDw-106" target="PVU13nk45NJB4w4DQgDw-165" edge="1">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="970" y="175" as="sourcePoint" />
+ <mxPoint x="580" y="126" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="640" y="550" />
+ <mxPoint x="1260" y="550" />
+ <mxPoint x="1260" y="40" />
+ <mxPoint x="494" y="40" />
+ </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">
+ <mxGeometry width="50" height="50" relative="1" as="geometry">
+ <mxPoint x="970" y="175" as="sourcePoint" />
+ <mxPoint x="620" y="130" as="targetPoint" />
+ <Array as="points">
+ <mxPoint x="1240" y="361" />
+ <mxPoint x="1240" y="70" />
+ <mxPoint x="650" y="70" />
+ </Array>
+ </mxGeometry>
+ </mxCell>
+ </root>
+ </mxGraphModel>
+ </diagram>
+ <diagram id="HwAwsUWtoMPbd-VC63Ug" name="Rendering/AssetManager">
+ <mxGraphModel dx="3068" dy="1938" 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="HgKoQxlyUx1tn9zsXLrm-1" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;fillColor=none;" vertex="1" parent="1">
+ <mxGeometry x="-1670" y="-610" width="2470" height="560" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-2" value="" style="rounded=0;whiteSpace=wrap;html=1;dashed=1;fillColor=none;" vertex="1" parent="1">
+ <mxGeometry x="-1673" y="-37" width="2470" height="1160" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-3" value="Texture" style="swimlane;fontStyle=2;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;" vertex="1" parent="1">
+ <mxGeometry x="-1250" y="234.32" width="240" height="164" as="geometry">
+ <mxRectangle x="230" y="140" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-4" value="+ Texture(path, reload)" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-3">
+ <mxGeometry y="26" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-5" value="+ Texture(unique_ptr&lt;Resource&gt;, reload)" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-3">
+ <mxGeometry y="52" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-6" value="~Texture" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-3">
+ <mxGeometry y="78" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-7" value="- &#x9;void load(std::unique_ptr&lt;api::Resource&gt; res);&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-3">
+ <mxGeometry y="104" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-8" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-3">
+ <mxGeometry y="130" width="240" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-9" value="- SDL_texture unique_ptr" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-3">
+ <mxGeometry y="138" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-10" value="&lt;&lt;singleton&gt;&gt;&#xa;AssetManager" style="swimlane;fontStyle=2;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=38;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="1">
+ <mxGeometry x="-1620" y="-440" width="380" height="247" as="geometry">
+ <mxRectangle x="230" y="140" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-11" value="- static AssetManager &amp; get_instance();&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-10">
+ <mxGeometry y="38" width="380" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-12" value="- AssetManager();&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-10">
+ <mxGeometry y="64" width="380" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-13" value="- virtual ~AssetManager()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-10">
+ <mxGeometry y="90" width="380" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-14" value="template &lt;typename resource&gt;&#xa;std::shared_ptr&lt;resource&gt; cache(path, bool reload)" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-10">
+ <mxGeometry y="116" width="380" height="35" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-15" value="- virtual ~AssetManager()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-10">
+ <mxGeometry y="151" width="380" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-16" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-10">
+ <mxGeometry y="177" width="380" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-17" value="template &lt;typename resource&gt;&#xa;- map&lt;path, shared_ptr&lt;resource&gt;&gt; cache" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-10">
+ <mxGeometry y="185" width="380" height="35" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-18" value="- friend class Texture" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-10">
+ <mxGeometry y="220" width="380" height="27" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-19" value="Sprite" style="swimlane;fontStyle=2;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;" vertex="1" parent="1">
+ <mxGeometry x="-534.06" y="220" width="240" height="190" as="geometry">
+ <mxRectangle x="230" y="140" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-20" value="+ &#x9;Sprite(crepe::Texture&amp; image, const Color&amp; color, const flip_settings&amp; flip ) :  sprite_image(&amp;image), color(color), flip(flip){}&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-19">
+ <mxGeometry y="26" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-21" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-19">
+ <mxGeometry y="52" width="240" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-22" value="+ unique_ptr&lt;Texture&gt;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-19">
+ <mxGeometry y="60" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-23" value="+ Color color" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-19">
+ <mxGeometry y="86" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-24" value="+ flip_settings flip" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-19">
+ <mxGeometry y="112" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-25" value="+ uint8_t sortingLayer" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-19">
+ <mxGeometry y="138" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-26" value="+ uint8_t orderInLayer" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-19">
+ <mxGeometry y="164" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-27" value="&lt;&lt;singleton&gt;&gt;&#xa;SdlContext" style="swimlane;fontStyle=2;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=37;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="1">
+ <mxGeometry x="-1160" y="-440" width="450" height="361" as="geometry">
+ <mxRectangle x="230" y="140" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-28" value="- SdlContext();" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-27">
+ <mxGeometry y="37" width="450" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-29" value="virtual ~SdlContext();" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-27">
+ <mxGeometry y="63" width="450" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-30" value="- static SdlContext &amp; get_instance();&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-27">
+ <mxGeometry y="89" width="450" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-31" value="- void draw(const api::Sprite&amp;, const api::Transform&amp;);&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-27">
+ <mxGeometry y="115" width="450" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-32" value="- void presentScreen();" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-27">
+ <mxGeometry y="141" width="450" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-33" value="- void clearScreen();&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-27">
+ <mxGeometry y="167" width="450" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-34" value="- void draw(const api::Sprite&amp;, const api::Transform&amp;);&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-27">
+ <mxGeometry y="193" width="450" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-35" value="- SDL_Texture* setTextureFromPath(const char*);" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-27">
+ <mxGeometry y="219" width="450" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-36" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-27">
+ <mxGeometry y="245" width="450" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-37" value="- friend class Texture" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-27">
+ <mxGeometry y="253" width="450" height="27" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-38" value="- friend class RenderSystem" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-27">
+ <mxGeometry y="280" width="450" height="27" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-39" value="- SDL_Window* window" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-27">
+ <mxGeometry y="307" width="450" height="27" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-40" value="- SDL_Renderer* renderer" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-27">
+ <mxGeometry y="334" width="450" height="27" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-41" value="RenderSystem" style="swimlane;fontStyle=2;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=25;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="1">
+ <mxGeometry x="-520" y="-324.5" width="240" height="130" as="geometry">
+ <mxRectangle x="230" y="140" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-42" value="- RenderSystem()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-41">
+ <mxGeometry y="25" width="240" height="22" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-43" value="- ~ RenderSystem()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-41">
+ <mxGeometry y="47" width="240" height="22" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-44" value="- void SortLayers()" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-41">
+ <mxGeometry y="69" width="240" height="22" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-45" value="+ void update() override" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-41">
+ <mxGeometry y="91" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-46" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-41">
+ <mxGeometry y="117" width="240" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-47" value="&lt;&lt;interface&gt;&gt;&#xa;&lt;&lt;singleton&gt;&gt;&#xa;System" style="swimlane;fontStyle=2;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=50;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" vertex="1" parent="1">
+ <mxGeometry x="-520" y="-580" width="240" height="162" as="geometry">
+ <mxRectangle x="230" y="140" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-48" value="+ static System &amp; get_instance();" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-47">
+ <mxGeometry y="50" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-49" value="+ virtual void update() = 0;&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-47">
+ <mxGeometry y="76" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-50" value="# System() {};&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-47">
+ <mxGeometry y="102" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-51" value="# virtual ~System() {};&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-47">
+ <mxGeometry y="128" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-52" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-47">
+ <mxGeometry y="154" width="240" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-53" value="Color" style="swimlane;fontStyle=2;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;" vertex="1" parent="1">
+ <mxGeometry x="-610" y="480" width="400" height="580" as="geometry">
+ <mxRectangle x="230" y="140" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-54" value="+ Color(double red, double green, double blue, double alpha);&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="26" width="400" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-55" value=" + static const Color &amp; get_white();&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="52" width="400" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-56" value=" + static const Color &amp; get_red();&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="78" width="400" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-57" value=" + static const Color &amp; get_green();&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="104" width="400" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-58" value=" + static const Color &amp; get_blue();&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="130" width="400" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-59" value=" + static const Color &amp; get_cyan();&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="156" width="400" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-60" value=" + static const Color &amp; get_magenta();&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="182" width="400" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-61" value=" + static const Color &amp; get_yellow();&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="208" width="400" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-62" value=" + static const Color &amp; get_black();&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="234" width="400" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-63" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="260" width="400" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-64" value="- double r" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="268" width="400" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-65" value="- double g" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="294" width="400" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-66" value="- double b" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="320" width="400" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-67" value="- double a" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="346" width="400" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-68" value="- static Color white" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="372" width="400" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-69" value="- static Color red" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="398" width="400" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-70" value="- static Color green" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="424" width="400" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-71" value="- static Color blue" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="450" width="400" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-72" value="- static Color cyan" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="476" width="400" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-73" value="- static Color magenta" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="502" width="400" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-74" value="- static Color yellow" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="528" width="400" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-75" value="- static Color black" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-53">
+ <mxGeometry y="554" width="400" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-76" value="Point" style="swimlane;fontStyle=2;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;" vertex="1" parent="1">
+ <mxGeometry x="139.9999999999999" y="154" width="240" height="90.71" as="geometry">
+ <mxRectangle x="230" y="140" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-77" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-76">
+ <mxGeometry y="26" width="240" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-78" value="+ double x" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-76">
+ <mxGeometry y="34" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-79" value="+ double y" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-76">
+ <mxGeometry y="60" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-80" value="Component" style="swimlane;fontStyle=2;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;" vertex="1" parent="1">
+ <mxGeometry x="-534.06" width="240" height="90" as="geometry">
+ <mxRectangle x="230" y="140" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-81" value="+active: Boolean" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-80">
+ <mxGeometry y="26" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-82" value="+ gameId" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-80">
+ <mxGeometry y="52" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-83" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-80">
+ <mxGeometry y="78" width="240" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-84" value="Transform" style="swimlane;fontStyle=2;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;" vertex="1" parent="1">
+ <mxGeometry x="-220" y="140.64" width="240" height="112" as="geometry">
+ <mxRectangle x="230" y="140" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-85" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-84">
+ <mxGeometry y="26" width="240" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-86" value="+ Point position; // Translation (shift)&#xa;&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-84">
+ <mxGeometry y="34" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-87" value="+ double rotation; // Rotation, in radians&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-84">
+ <mxGeometry y="60" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-88" value="+ double scale; // Multiplication factoh&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-84">
+ <mxGeometry y="86" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-89" value="Resource" style="swimlane;fontStyle=2;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;" vertex="1" parent="1">
+ <mxGeometry x="-1600" y="234.32" width="240" height="164" as="geometry">
+ <mxRectangle x="230" y="140" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-90" value="+ Resource(const std::string &amp; src);" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-89">
+ <mxGeometry y="26" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-91" value="+ const std::istream &amp; read();" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-89">
+ <mxGeometry y="52" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-92" value="+ const char * canonical()&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-89">
+ <mxGeometry y="78" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-93" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-89">
+ <mxGeometry y="104" width="240" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-94" value="- &#x9;std::string src;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-89">
+ <mxGeometry y="112" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-95" value="- &#x9;std::ifstream file;&#xa;" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-89">
+ <mxGeometry y="138" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-96" value="TODO:Animator" style="swimlane;fontStyle=2;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;" vertex="1" parent="1">
+ <mxGeometry x="-940" y="234.32" width="240" height="49.36" as="geometry">
+ <mxRectangle x="230" y="140" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-97" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-96">
+ <mxGeometry y="26" width="240" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-98" value="" style="endArrow=block;endSize=16;endFill=0;html=1;" edge="1" parent="1" source="HgKoQxlyUx1tn9zsXLrm-96" target="HgKoQxlyUx1tn9zsXLrm-80">
+ <mxGeometry width="160" relative="1" as="geometry">
+ <mxPoint x="-740" y="440" as="sourcePoint" />
+ <mxPoint x="-570" y="439.99999999999994" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-99" value="" style="endArrow=block;endSize=16;endFill=0;html=1;" edge="1" parent="1" source="HgKoQxlyUx1tn9zsXLrm-84" target="HgKoQxlyUx1tn9zsXLrm-80">
+ <mxGeometry width="160" relative="1" as="geometry">
+ <mxPoint x="-720" y="450" as="sourcePoint" />
+ <mxPoint x="-560" y="450" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-100" value="" style="endArrow=block;endSize=16;endFill=0;html=1;" edge="1" parent="1" source="HgKoQxlyUx1tn9zsXLrm-19" target="HgKoQxlyUx1tn9zsXLrm-80">
+ <mxGeometry width="160" relative="1" as="geometry">
+ <mxPoint x="-710" y="460" as="sourcePoint" />
+ <mxPoint x="-550" y="460" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-101" value="" style="endArrow=diamondThin;endFill=1;endSize=24;html=1;" edge="1" parent="1" source="HgKoQxlyUx1tn9zsXLrm-53" target="HgKoQxlyUx1tn9zsXLrm-19">
+ <mxGeometry width="160" relative="1" as="geometry">
+ <mxPoint x="-827" y="550" as="sourcePoint" />
+ <mxPoint x="-667" y="550" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-102" value="" style="endArrow=diamondThin;endFill=1;endSize=24;html=1;" edge="1" parent="1" source="HgKoQxlyUx1tn9zsXLrm-76" target="HgKoQxlyUx1tn9zsXLrm-84">
+ <mxGeometry width="160" relative="1" as="geometry">
+ <mxPoint x="110.62230769230791" y="360" as="sourcePoint" />
+ <mxPoint x="109.99769230769243" y="290" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-103" value="" style="endArrow=open;endFill=1;endSize=12;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="HgKoQxlyUx1tn9zsXLrm-96" target="HgKoQxlyUx1tn9zsXLrm-20">
+ <mxGeometry width="160" relative="1" as="geometry">
+ <mxPoint x="-770" y="340" as="sourcePoint" />
+ <mxPoint x="-540" y="290" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-104" value="1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=#ffffff;" vertex="1" connectable="0" parent="HgKoQxlyUx1tn9zsXLrm-103">
+ <mxGeometry x="0.3336" y="-3" relative="1" as="geometry">
+ <mxPoint x="29.44" y="-12" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-105" value="0..1" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];labelBackgroundColor=#ffffff;" vertex="1" connectable="0" parent="HgKoQxlyUx1tn9zsXLrm-103">
+ <mxGeometry x="-0.8674" y="1" relative="1" as="geometry">
+ <mxPoint y="-8" as="offset" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-106" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;" edge="1" parent="1" source="HgKoQxlyUx1tn9zsXLrm-3" target="HgKoQxlyUx1tn9zsXLrm-89">
+ <mxGeometry width="160" relative="1" as="geometry">
+ <mxPoint x="-1600" y="1080" as="sourcePoint" />
+ <mxPoint x="-1440" y="1080" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-107" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;" edge="1" parent="1" source="HgKoQxlyUx1tn9zsXLrm-3" target="HgKoQxlyUx1tn9zsXLrm-10">
+ <mxGeometry width="160" relative="1" as="geometry">
+ <mxPoint x="-1240" y="326.32000000000016" as="sourcePoint" />
+ <mxPoint x="-1350" y="326.32000000000016" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-108" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;" edge="1" parent="1" source="HgKoQxlyUx1tn9zsXLrm-3" target="HgKoQxlyUx1tn9zsXLrm-27">
+ <mxGeometry width="160" relative="1" as="geometry">
+ <mxPoint x="-1162.1648026738653" y="244.32000000000016" as="sourcePoint" />
+ <mxPoint x="-1371.0965419719755" y="-162" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-109" value="Extends" style="endArrow=block;endSize=16;endFill=0;html=1;" edge="1" parent="1" source="HgKoQxlyUx1tn9zsXLrm-41" target="HgKoQxlyUx1tn9zsXLrm-47">
+ <mxGeometry width="160" relative="1" as="geometry">
+ <mxPoint x="-660" y="-320" as="sourcePoint" />
+ <mxPoint x="-500" y="-320" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-110" value="" style="endArrow=block;dashed=1;endFill=0;endSize=12;html=1;" edge="1" parent="1" source="HgKoQxlyUx1tn9zsXLrm-41" target="HgKoQxlyUx1tn9zsXLrm-27">
+ <mxGeometry width="160" relative="1" as="geometry">
+ <mxPoint x="-1092.867033190796" y="244.32000000000016" as="sourcePoint" />
+ <mxPoint x="-980.2586031358178" y="-96" as="targetPoint" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-111" value="&lt;b&gt;&lt;font style=&quot;font-size: 50px&quot;&gt;API&lt;/font&gt;&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" vertex="1" parent="1">
+ <mxGeometry x="684" y="11" width="93" height="31" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-112" value="&lt;b&gt;&lt;font style=&quot;font-size: 50px&quot;&gt;Engine&lt;/font&gt;&lt;/b&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" vertex="1" parent="1">
+ <mxGeometry x="612" y="-132" width="177" height="31" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-113" value="Size ??? where" style="swimlane;fontStyle=2;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;" vertex="1" parent="1">
+ <mxGeometry x="-943" y="50.639999999999986" width="240" height="90" as="geometry">
+ <mxRectangle x="230" y="140" width="160" height="26" as="alternateBounds" />
+ </mxGeometry>
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-114" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-113">
+ <mxGeometry y="26" width="240" height="8" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-115" value="- SDL_Rect src" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-113">
+ <mxGeometry y="34" width="240" height="26" as="geometry" />
+ </mxCell>
+ <mxCell id="HgKoQxlyUx1tn9zsXLrm-116" value="- SDL_Rects dst" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" vertex="1" parent="HgKoQxlyUx1tn9zsXLrm-113">
+ <mxGeometry y="60" width="240" height="26" as="geometry" />
+ </mxCell>
+ </root>
+ </mxGraphModel>
+ </diagram>
+</mxfile>