aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormax-001 <maxsmits21@kpnmail.nl>2024-10-30 14:36:58 +0100
committermax-001 <maxsmits21@kpnmail.nl>2024-10-30 14:36:58 +0100
commit4a3d3ac37e506a8c29653d57d6514c625491583c (patch)
tree3ba8bc7a8d8a85285038c02cd0e2b26283c4374b
parent95c570abf65c45cab7c16dacc9ab470289b6a744 (diff)
Added SceneManager to the diagram
-rw-r--r--figs.drawio184
1 files changed, 151 insertions, 33 deletions
diff --git a/figs.drawio b/figs.drawio
index c18d13d..68ad6c9 100644
--- a/figs.drawio
+++ b/figs.drawio
@@ -736,23 +736,29 @@
</mxGraphModel>
</diagram>
<diagram id="ehgrrEZq6aIl9GSG0JpL" name="Main diagram 2">
- <mxGraphModel dx="912" dy="477" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="3300" pageHeight="2339" math="0" shadow="0">
+ <mxGraphModel dx="3420" dy="1788" 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="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="1" vertex="1">
- <mxGeometry x="956" y="1088" width="160" height="68" as="geometry">
+ <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" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];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-10" vertex="1">
- <mxGeometry y="26" width="160" height="17" as="geometry" />
+ <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="43" width="160" height="8" as="geometry" />
+ <mxGeometry y="56" width="160" height="8" as="geometry" />
</mxCell>
- <mxCell id="5-8bWhzpOWirDYeo3-Cj-13" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];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-10" vertex="1">
- <mxGeometry y="51" width="160" height="17" as="geometry" />
+ <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;" vertex="1" parent="5-8bWhzpOWirDYeo3-Cj-10">
+ <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;" vertex="1" parent="5-8bWhzpOWirDYeo3-Cj-10">
+ <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">
@@ -766,12 +772,12 @@
</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="-10" y="-15" as="offset" />
+ <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="-7" y="14" as="offset" />
+ <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">
@@ -852,7 +858,7 @@
<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="660" y="1340" width="160" height="68" as="geometry">
+ <mxGeometry x="320" y="1282" width="160" height="68" as="geometry">
<mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
@@ -866,7 +872,7 @@
<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="660" y="1230" width="160" height="85" as="geometry">
+ <mxGeometry x="320" y="1172" width="160" height="85" as="geometry">
<mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
@@ -883,13 +889,13 @@
<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="660" y="1140" width="70" height="40" as="geometry" />
+ <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="660" y="1070" width="70" height="40" as="geometry" />
+ <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="660" y="1000" width="70" height="40" as="geometry" />
+ <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">
@@ -928,7 +934,7 @@
<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="5-8bWhzpOWirDYeo3-Cj-96" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];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">
+ <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;" vertex="1" parent="5-8bWhzpOWirDYeo3-Cj-93">
<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">
@@ -969,7 +975,7 @@
<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="180" width="200" height="85" as="geometry">
+ <mxGeometry x="1400" y="170" width="200" height="102" as="geometry">
<mxRectangle x="330" y="540" width="160" height="26" as="alternateBounds" />
</mxGeometry>
</mxCell>
@@ -982,9 +988,12 @@
<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="+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">
+ <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;" vertex="1" parent="5-8bWhzpOWirDYeo3-Cj-106">
+ <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" />
@@ -1246,13 +1255,13 @@
</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" edge="1">
+ <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" edge="1" target="5-8bWhzpOWirDYeo3-Cj-93">
<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="658" />
- <mxPoint x="1116" y="658" />
+ <mxPoint x="1116" y="650" />
+ <mxPoint x="1116" y="650" />
</Array>
</mxGeometry>
</mxCell>
@@ -1297,7 +1306,7 @@
</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="1980" y="1090" width="160" height="68" as="geometry">
+ <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>
@@ -1534,7 +1543,7 @@
<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="ZHgyX9xX1EySbdOx-EKd-14" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];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">
+ <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;" vertex="1" parent="ZHgyX9xX1EySbdOx-EKd-10">
<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">
@@ -1664,24 +1673,24 @@
<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="1196" y="1065" width="474" height="102" as="geometry">
+ <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" style="text;align=left;verticalAlign=bottom;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=1;points=[[0,0.5],[1,0.5]];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-46" vertex="1">
- <mxGeometry y="26" width="474" height="17" as="geometry" />
+ <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="474" height="8" as="geometry" />
+ <mxGeometry y="43" width="534" height="8" as="geometry" />
</mxCell>
- <mxCell id="ZHgyX9xX1EySbdOx-EKd-67" value="+GameObject(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="474" height="17" as="geometry" />
+ <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() : 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=#000000;" parent="ZHgyX9xX1EySbdOx-EKd-46" vertex="1">
- <mxGeometry y="68" width="474" height="17" as="geometry" />
+ <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() : 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="474" height="17" as="geometry" />
+ <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">
@@ -1726,6 +1735,115 @@
<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;" vertex="1" parent="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;" vertex="1" parent="uXPUMNlN59CLM5qzZz-l-5">
+ <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;" vertex="1" parent="uXPUMNlN59CLM5qzZz-l-5">
+ <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;" vertex="1" parent="uXPUMNlN59CLM5qzZz-l-5">
+ <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;" vertex="1" parent="uXPUMNlN59CLM5qzZz-l-5">
+ <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;" vertex="1" parent="uXPUMNlN59CLM5qzZz-l-5">
+ <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;" vertex="1" parent="uXPUMNlN59CLM5qzZz-l-5">
+ <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;" edge="1" parent="1" source="5-8bWhzpOWirDYeo3-Cj-10" target="uXPUMNlN59CLM5qzZz-l-5">
+ <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;" connectable="0" vertex="1" parent="uXPUMNlN59CLM5qzZz-l-15">
+ <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;" vertex="1" parent="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;" vertex="1" parent="uXPUMNlN59CLM5qzZz-l-32">
+ <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;" vertex="1" parent="uXPUMNlN59CLM5qzZz-l-32">
+ <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;" vertex="1" parent="uXPUMNlN59CLM5qzZz-l-32">
+ <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;" edge="1" parent="1" source="uXPUMNlN59CLM5qzZz-l-32" target="5-8bWhzpOWirDYeo3-Cj-10">
+ <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;" edge="1" parent="1" source="uXPUMNlN59CLM5qzZz-l-44" target="uXPUMNlN59CLM5qzZz-l-18">
+ <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 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;" vertex="1" parent="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;" edge="1" parent="1" source="uXPUMNlN59CLM5qzZz-l-32" target="uXPUMNlN59CLM5qzZz-l-44">
+ <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;" vertex="1" parent="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;" vertex="1" parent="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;" edge="1" parent="1" source="ZHgyX9xX1EySbdOx-EKd-46" target="uXPUMNlN59CLM5qzZz-l-48">
+ <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;" edge="1" parent="1" source="5-8bWhzpOWirDYeo3-Cj-170" target="uXPUMNlN59CLM5qzZz-l-47">
+ <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>
</root>
</mxGraphModel>
</diagram>