﻿<?xml version="1.0" encoding="utf-8"?>
<package xmlns:dm0="http://schemas.microsoft.com/VisualStudio/2008/DslTools/Core" xmlns:dm1="http://schemas.microsoft.com/dsltools/Kernel" xmlns:dm2="http://schemas.microsoft.com/dsltools/Component" xmlns:dm3="http://schemas.microsoft.com/dsltools/UseCase" xmlns:dm4="http://schemas.microsoft.com/dsltools/Activity" xmlns:dm5="http://schemas.microsoft.com/dsltools/Interaction" xmlns:dm6="http://schemas.microsoft.com/dsltools/UmlModelLibrary" xmlns:dm7="http://schemas.microsoft.com/dsltools/UmlDiagrams" xmlns:dm8="http://schemas.microsoft.com/dsltools/LogicalClassDesigner" xmlns:dm9="http://schemas.microsoft.com/dsltools/SimpleShapesModel" xmlns:dm10="http://schemas.microsoft.com/dsltools/UseCaseModel"
  dslVersion="1.0.0.0"
  Id="e10705e4-2682-4011-bd0e-be365f25032b"
  name="SnakeMess.Model" xmlns="http://schemas.microsoft.com/dsltools/ModelStore">
  <packagedElements>
    <packageHasNamedElement>
      <class
        Id="9ad08019-a120-41f1-8a57-5163ab2c8c81"
        name="Snake"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <interfaceRealization
            Id="f9ed2d39-cf34-4521-a20e-e27719307298">
            <interfaceMoniker
              Id="c51d2795-5509-455b-94f2-19a62e544f24"
              LastKnownName="IMoveable"
              LastKnownLocation="Package_1244.uml" />
          </interfaceRealization>
        </suppliersInternal>
        <generalsInternal>
          <generalization
            Id="f54c535e-3e97-4e9e-b88e-623b5490d302"
            isSubstitutable="false">
            <classMoniker
              Id="95b2f207-1d63-43c5-8f0e-713980f7dc7d"
              LastKnownName="GameObject"
              LastKnownLocation="Package_1243.uml" />
          </generalization>
        </generalsInternal>
        <ownedAttributesInternal>
          <property
            Id="b55093ad-f379-4a9c-ac0d-20785119d574"
            name="List&lt;Vector2D&gt;"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="a93ad515-be88-47a5-854d-2f69caed9025"
                LastKnownName="body"
                LastKnownLocation="snakemess.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="330ede53-af26-4fad-8467-7196556ef47d"
            name="Direction"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="7106f818-d323-4713-924d-6f231ae31f2d"
                LastKnownName="dir"
                LastKnownLocation="Package_1244.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="77330760-7df4-4258-a621-8970ecabd430"
            name="void:updatePosition"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="d3973859-6c33-4778-b59f-fcd59e70978d"
        name="Vector2D"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <ownedAttributesInternal>
          <property
            Id="9301bf63-2fc6-4a0a-89b7-dbbff1c864fd"
            name="int"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="2b9c7a7d-6d1b-4f08-ad9a-3182b5f11a34"
                LastKnownName="x"
                LastKnownLocation="snakemess.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="100cac91-b96d-4c6f-8d98-66844f58c14e"
            name="int"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="f81ddf03-11dc-414c-8c4c-6aef0be0540d"
                LastKnownName="y"
                LastKnownLocation="snakemess.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="9bc559be-224f-4c86-a3c2-d69f428facb7"
            name="void:Vector2D"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="a54de937-8e1b-4ef5-92fd-20cd58c009ec"
                  name="Vector2D vector2d"
                  direction="In"
                  isUnique="false" />
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="9501cecb-6a40-406d-ab48-6d74946c564d"
            name="void:Vector2D"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="ff0a6bb5-b9a2-4440-a419-391726b35143"
                  name="int x"
                  direction="In"
                  isUnique="false" />
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="2efd9f00-eefa-4765-88f6-fb91e076de9f"
                  name="int y"
                  direction="In"
                  isUnique="false" />
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="0678ac4b-0f21-400f-ae8d-c784ecb91c68"
            name="void:SetX"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="87f88746-425e-429f-b046-3ff5a7e5d4e8"
                  name="int x"
                  direction="In"
                  isUnique="false" />
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="a46bd5d7-83e2-4953-bb63-34b9d5c7c0f8"
            name="void:SetY"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="ad66995a-b076-45fc-9f21-6560473d04ff"
                  name="int y"
                  direction="In"
                  isUnique="false" />
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="e62e86c5-c806-42d4-a2f1-2b382ce4815c"
            name="int:GetX"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="60b9414e-5c65-46cc-883d-a2dc644ca454"
            name="int:GetY"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="ac5ceb21-945f-4220-b1b3-e3e0c96e2440"
            name="Vector2D:GetPosition"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="5dac908c-b764-4fda-a985-7142f0339426"
        name="Fruit"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <generalsInternal>
          <generalization
            Id="cd56bd26-f42f-42b0-b865-6d9458882a36"
            isSubstitutable="false">
            <classMoniker
              Id="95b2f207-1d63-43c5-8f0e-713980f7dc7d"
              LastKnownName="GameObject"
              LastKnownLocation="Package_1243.uml" />
          </generalization>
        </generalsInternal>
        <ownedOperationsInternal>
          <operation
            Id="31659a30-68a3-453d-9ef8-b176822185b8"
            name="void:Fruit"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="95b2f207-1d63-43c5-8f0e-713980f7dc7d"
        name="GameObject"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <targetEnds>
          <association
            Id="5ced2774-373f-4985-89e6-89dbaba72693"
            isDerived="false"
            sourceEndRoleName="GameObject"
            targetEndRoleName="Vector2D"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="d3973859-6c33-4778-b59f-fcd59e70978d"
              LastKnownName="Vector2D"
              LastKnownLocation="Package_1243.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="9b705a3f-23e3-4c61-ad3b-4c918a898f7d"
                  name="GameObject"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Composite"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="01af5812-98bf-4f8e-9d8e-c310084b08a0"
                  name="Vector2D"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="true" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="1f978817-3979-4397-91de-312e7f810f26"
            isDerived="false"
            sourceEndRoleName="GameObject"
            targetEndRoleName="Vector2D"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="32512fba-5c6e-4abb-ac27-67827b489d37"
              LastKnownName="Vector2D"
              LastKnownLocation="Package_1244.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="695fc444-f4e6-4f18-9113-8a17ddb5e883"
                  name="GameObject"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Composite"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="fae7b32b-d0a7-4799-b176-e20ca8ae4391"
                  name="Vector2D"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="true" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="b39f501a-7ec2-4e6b-9270-78756e150f74"
            name="Vector2D"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="0d2b7642-6670-401d-befe-c88a988cc06b"
                LastKnownName="position"
                LastKnownLocation="snakemess.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="a0d6c617-7ba4-480a-a3e9-0ebbd6daeaa0"
            name="void:Draw"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="73a1d591-070b-4e61-b8c5-065e713796b5"
            name="bool:CollisionWith"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="082ce3aa-4d82-4fa7-a705-a8f8605dfb3e"
                  name="GameObject go1"
                  direction="In"
                  isUnique="false" />
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="88066939-1ac2-4e44-98bc-700704d922e8"
                  name="GameObject g2"
                  direction="In"
                  isUnique="false" />
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="5b2b32cf-0c01-4065-9b51-bc809cf86fb7"
            name="void:Update"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
  </packagedElements>
</package>