﻿<?xml version="1.0" encoding="utf-8"?>
<modelStoreModel 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/Activity" xmlns:dm4="http://schemas.microsoft.com/dsltools/UseCase" 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"
  dslVersion="1.0.0.0"
  Id="88732251-f6c7-446a-8012-e0304fb07a19"
  name="GameDesign" xmlns="http://schemas.microsoft.com/dsltools/ModelStore">
  <profileInstances>
    <packageHasProfileInstances
      Id="0caec977-1f8c-4ba3-a7db-8cc9ad9cc73b">
      <profileInstance
        Id="e34d544e-0fea-4ed6-ac5e-1b74119ac791"
        name="StandardProfileL2" />
    </packageHasProfileInstances>
    <packageHasProfileInstances
      Id="29349502-908c-4fda-9054-c48619c59ed0">
      <profileInstance
        Id="532ea607-fb19-44b8-8502-3351b05452be"
        name="StandardProfileL3" />
    </packageHasProfileInstances>
  </profileInstances>
  <packagedElements>
    <packageHasNamedElement>
      <class
        Id="d859b578-b705-4b90-8d4f-b9f18edbd4c2"
        name="Program"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="bb318605-e246-4a86-87f9-fe2ec003115b"
        name="Renderer"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <targetEnds>
          <association
            Id="631ee5e7-6c13-401d-9ed2-4026b7d95310"
            isDerived="false"
            sourceEndRoleName="Renderer"
            targetEndRoleName="Score"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="06f63696-423b-4117-8520-696fb78afcaa"
              LastKnownName="Score"
              LastKnownLocation="GameDesign.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="ce46ced1-9205-4376-8039-2bb1bb6285f7"
                  name="Renderer"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="06ba9145-cb11-4a19-a69e-5d60b012a2cf"
                  name="Score"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="a743f80c-6205-427d-9fd1-683eea4e8d07"
            isDerived="false"
            sourceEndRoleName="Renderer"
            targetEndRoleName="Settings"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="eb0c4ef3-9625-4c95-aeea-d25e98152859"
              LastKnownName="Settings"
              LastKnownLocation="GameDesign.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="435d4c0f-a314-4a2a-9250-efee0cef2e08"
                  name="Renderer"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="695a40eb-0435-4cc8-bc28-a7e59067acb5"
                  name="Settings"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="42cde094-62cd-4aed-9692-0a547a0b5f5f"
            isDerived="false"
            sourceEndRoleName="Renderer"
            targetEndRoleName="World"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="099c7c60-f808-4634-bbed-1ee5f96d4303"
              LastKnownName="World"
              LastKnownLocation="GameDesign.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="57df5731-9277-42fd-9157-d293cbfa1fcc"
                  name="Renderer"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="960065fc-1edc-4878-a665-fe2c05fbd633"
                  name="World"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="60a77831-5fb5-474f-8354-cafd612a9a7a"
            isDerived="false"
            sourceEndRoleName="Renderer"
            targetEndRoleName="Timer"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="4c4324ca-2e46-452f-abe4-7a96e0bfff74"
              LastKnownName="Timer"
              LastKnownLocation="GameDesign.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="240ba41e-e59a-493e-b353-657437acbb3d"
                  name="Renderer"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="9d0352ac-04f1-460e-9c17-429f09c69f6a"
                  name="Timer"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="610294c3-1955-4814-9294-51f0eec2b75f"
            name="game"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <classMoniker
                Id="2f227aca-b03a-42d4-af7b-28d3ec956ee4"
                LastKnownName="Game"
                LastKnownLocation="GameDesign.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="125ae5fc-d268-4bd1-a438-a64decca4474"
            name="world"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <classMoniker
                Id="099c7c60-f808-4634-bbed-1ee5f96d4303"
                LastKnownName="World"
                LastKnownLocation="GameDesign.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="039006ee-ed3a-475d-b240-7c84a556b758"
            name="controller"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <classMoniker
                Id="602ed1eb-64d5-41e7-9b66-b9d600c957d8"
                LastKnownName="Controller"
                LastKnownLocation="GameDesign.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="0e0515ee-f27c-46be-b5f3-edeac88e4170"
            name="settings"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <classMoniker
                Id="eb0c4ef3-9625-4c95-aeea-d25e98152859"
                LastKnownName="Settings"
                LastKnownLocation="GameDesign.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="5ae0c9da-f03a-405d-b148-8cb11ac9207e"
            name="Initialize"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="c6745863-4928-4e2f-820d-e31f1e6abb69"
            name="Draw"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="2f227aca-b03a-42d4-af7b-28d3ec956ee4"
        name="Game"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <targetEnds>
          <association
            Id="a75681a8-6093-4691-ac57-c06bcc116241"
            isDerived="false"
            sourceEndRoleName="Game"
            targetEndRoleName="Renderer"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="bb318605-e246-4a86-87f9-fe2ec003115b"
              LastKnownName="Renderer"
              LastKnownLocation="GameDesign.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="f4071912-1ef9-4114-b553-3845bf8d10df"
                  name="Game"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="3c8108e9-3c55-4a44-8326-2d88d4e5a49f"
                  name="Renderer"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="04891824-ecda-4aea-b9c8-b2a741ceb014"
            name="player"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <classMoniker
                Id="0d1615d0-bdac-4f98-974b-8b591d5f8b78"
                LastKnownName="Player"
                LastKnownLocation="GameDesign.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="08fc0080-ae13-4a20-be24-60f468278ae1"
            name="level"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <classMoniker
                Id="27802b45-4763-462b-926b-aa8349623daf"
                LastKnownName="Level"
                LastKnownLocation="GameDesign.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="0d1615d0-bdac-4f98-974b-8b591d5f8b78"
        name="Player"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <interfaceRealization
            Id="1087b592-01a8-4b3f-a436-5b51f48dee88">
            <interfaceMoniker
              Id="074e6dfc-9aaa-4c26-8ca6-73c6beedef77"
              LastKnownName="IPlayer"
              LastKnownLocation="GameDesign.uml" />
          </interfaceRealization>
        </suppliersInternal>
        <targetEnds>
          <association
            Id="17291d96-f86e-48ae-8b2b-e871aae7b846"
            isDerived="false"
            sourceEndRoleName="Player"
            targetEndRoleName="Game"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="2f227aca-b03a-42d4-af7b-28d3ec956ee4"
              LastKnownName="Game"
              LastKnownLocation="GameDesign.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="20fe6bb8-e0f4-4586-add3-7d83b520aeef"
                  name="Player"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="ca70ab31-85eb-4859-98a8-ef015031fdfc"
                  name="Game"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="b2267bfb-c530-49f8-b818-88094dc5b81a"
            isDerived="false"
            sourceEndRoleName="Player"
            targetEndRoleName="Score"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="06f63696-423b-4117-8520-696fb78afcaa"
              LastKnownName="Score"
              LastKnownLocation="GameDesign.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="2f2a73d9-f234-43f0-9dde-9fd11de06a5e"
                  name="Player"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="d70da627-ac91-41d0-b146-6b3e629f8a0f"
                  name="Score"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="c616e526-1524-4f69-b90b-147e7d91f813"
            isDerived="false"
            sourceEndRoleName="Player"
            targetEndRoleName="Timer"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="4c4324ca-2e46-452f-abe4-7a96e0bfff74"
              LastKnownName="Timer"
              LastKnownLocation="GameDesign.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="cf6b0458-c3f4-4d38-80ab-01a0b4e451dc"
                  name="Player"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="c1417ec6-d542-4ea8-ae97-2d8d41de81cb"
                  name="Timer"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="a2c25217-67b7-4cfa-9faa-3e1033639b54"
            name="score"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <classMoniker
                Id="06f63696-423b-4117-8520-696fb78afcaa"
                LastKnownName="Score"
                LastKnownLocation="GameDesign.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="06f63696-423b-4117-8520-696fb78afcaa"
        name="Score"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <targetEnds>
          <association
            Id="da056f69-70f7-4573-87bf-fc8f441dd471"
            isDerived="false"
            sourceEndRoleName="Score"
            targetEndRoleName="Score"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="06f63696-423b-4117-8520-696fb78afcaa"
              LastKnownName="Score"
              LastKnownLocation="GameDesign.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="00ed71d4-b5b8-40f1-9d34-63b6eaff1ace"
                  name="Score"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Composite"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="55dfeea8-482f-413b-8bc5-59911633e5d6"
                  name="Score"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="true" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="21085b73-267d-47d8-91ba-12d1618a5831"
            name="instance"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <classMoniker
                Id="06f63696-423b-4117-8520-696fb78afcaa"
                LastKnownName="Score"
                LastKnownLocation="GameDesign.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="459d9d0c-1693-4e3d-b788-178279838c6c"
            name="getInstance"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="27802b45-4763-462b-926b-aa8349623daf"
        name="Level"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <targetEnds>
          <association
            Id="b7aec952-b1b1-4c45-b8eb-9da91faae75f"
            isDerived="false"
            sourceEndRoleName="Level"
            targetEndRoleName="Level"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="27802b45-4763-462b-926b-aa8349623daf"
              LastKnownName="Level"
              LastKnownLocation="GameDesign.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="6b4bde5f-f5e0-47fd-bf54-4dcfa121475a"
                  name="Level"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Composite"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="2a917607-d5db-4cc4-9e70-0bd71c2060fb"
                  name="Level"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="true" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="371884f1-3496-46f5-88dc-207bb9dfe8f4"
            isDerived="false"
            sourceEndRoleName="Level"
            targetEndRoleName="Game"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="2f227aca-b03a-42d4-af7b-28d3ec956ee4"
              LastKnownName="Game"
              LastKnownLocation="GameDesign.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="b0ee1e31-01a4-44fe-b71c-ca62b551b889"
                  name="Level"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="0d95721f-f5c8-419d-a49e-5d1777d3b07c"
                  name="Game"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="5b4a69c8-b62b-4a7f-b840-b0d5f7ba25e5"
            name="instance"
            visibility="Private"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <classMoniker
                Id="27802b45-4763-462b-926b-aa8349623daf"
                LastKnownName="Level"
                LastKnownLocation="GameDesign.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="d97e4873-65f1-42cf-a517-a4eb5e757b05"
            name="getInstance"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="eb0c4ef3-9625-4c95-aeea-d25e98152859"
        name="Settings"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <targetEnds>
          <association
            Id="06d5744f-8724-43cf-a981-437bb04eb86c"
            isDerived="false"
            sourceEndRoleName="Settings"
            targetEndRoleName="Settings"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="eb0c4ef3-9625-4c95-aeea-d25e98152859"
              LastKnownName="Settings"
              LastKnownLocation="GameDesign.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="5e680f47-74a3-4a86-959b-8fce3328ab70"
                  name="Settings"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Composite"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="0b6a82a1-0abe-409f-a563-76e9168bba63"
                  name="Settings"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="true" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="ebbfad15-2830-4d51-9985-c4ea1333803b"
            name="screenSize"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="29d57f33-deab-4125-9ed5-2e04d8316e86"
                LastKnownName="Vector2"
                LastKnownLocation="GameDesign.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="d5ef2dcf-8def-4683-b0bc-61682def99b9"
            name="Instance"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <classMoniker
                Id="eb0c4ef3-9625-4c95-aeea-d25e98152859"
                LastKnownName="Settings"
                LastKnownLocation="GameDesign.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="16bab1ad-a952-4d7f-919a-1e463a141f71"
            name="getInstance"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="602ed1eb-64d5-41e7-9b66-b9d600c957d8"
        name="Controller"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <targetEnds>
          <association
            Id="b5c9e4c1-0d1c-414c-9b10-c2a8bfd4bb89"
            isDerived="false"
            sourceEndRoleName="Controller"
            targetEndRoleName="Renderer"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="bb318605-e246-4a86-87f9-fe2ec003115b"
              LastKnownName="Renderer"
              LastKnownLocation="GameDesign.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="0b47daaf-479c-4ca7-989d-d5113782d8b5"
                  name="Controller"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="9953a4bc-9144-4880-ad4b-4137932aa6f8"
                  name="Renderer"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedOperationsInternal>
          <operation
            Id="79c7cf28-022b-441f-856e-ab33816da202"
            name="onKeyPress"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
          <operation
            Id="72aca0a2-0087-4216-ac28-e48691b223b0"
            name="onMousePress"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="c71dd08d-42de-49bf-870c-06dfb495ae60"
                  name="Vector2 position"
                  direction="In"
                  isUnique="false" />
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="29d57f33-deab-4125-9ed5-2e04d8316e86"
        name="Vector2" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="02c43135-9ef2-4f8e-97e7-9d7c184b8e6f"
        name="Enemy"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="099c7c60-f808-4634-bbed-1ee5f96d4303"
        name="World"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <interfaceRealization
            Id="05c7ecdb-3d02-45da-be9a-00612104cb1c">
            <interfaceMoniker
              Id="89c24ef3-9a84-455d-8888-2ae6f55425a3"
              LastKnownName="BackgroundItem"
              LastKnownLocation="GameDesign.uml" />
          </interfaceRealization>
        </suppliersInternal>
        <targetEnds>
          <association
            Id="5cfea645-ba5f-47ea-9209-b13bb1109b70"
            isDerived="false"
            sourceEndRoleName="World"
            targetEndRoleName="Player"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="0d1615d0-bdac-4f98-974b-8b591d5f8b78"
              LastKnownName="Player"
              LastKnownLocation="GameDesign.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="c4a7a12e-7451-4c70-9870-1a6ec39516e6"
                  name="World"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="6a81973a-28e1-4199-b18a-041b647a1a7e"
                  name="Player"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="5aa25e51-86c9-476b-8b38-2d9bffb50873"
            isDerived="false"
            sourceEndRoleName="World"
            targetEndRoleName="Level"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="27802b45-4763-462b-926b-aa8349623daf"
              LastKnownName="Level"
              LastKnownLocation="GameDesign.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="af356d13-50bf-4f19-a5c7-884e6042ab9d"
                  name="World"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="1a98a0fb-2e44-4041-9b9d-829d4543fdec"
                  name="Level"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
          <association
            Id="ccd35dc9-8142-4eff-bb2e-eacecde8be3c"
            isDerived="false"
            sourceEndRoleName="World"
            targetEndRoleName="Enemy"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="02c43135-9ef2-4f8e-97e7-9d7c184b8e6f"
              LastKnownName="Enemy"
              LastKnownLocation="GameDesign.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="b4da3ed0-3da1-46e5-aa8f-d8d96ee0d04f"
                  name="World"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="9c565032-67c4-4195-a603-c371ff2cb623"
                  name="Enemy"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="false" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="5c4456ba-6832-4cb9-92b1-c05f27de2932"
            name="level"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <classMoniker
                Id="27802b45-4763-462b-926b-aa8349623daf"
                LastKnownName="Level"
                LastKnownLocation="GameDesign.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="baceac59-171d-4a98-a616-63546412a0d5"
            name="enemies"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="f1f75b9b-4386-4845-8b52-282f2c188308"
                LastKnownName="Enemy[]"
                LastKnownLocation="GameDesign.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="fa560411-367e-4fb8-8f3f-11c25fa99909"
            name="playerr"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <classMoniker
                Id="0d1615d0-bdac-4f98-974b-8b591d5f8b78"
                LastKnownName="Player"
                LastKnownLocation="GameDesign.uml" />
            </type_NamedElement>
          </property>
          <property
            Id="7c255c06-2cea-4ad2-a17a-294e392cc248"
            name="backgroundItems"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <undefinedTypeMoniker
                Id="61a3b3ee-9b02-4911-88d0-7ed7090e00f3"
                LastKnownName="BackgroundItem[]"
                LastKnownLocation="GameDesign.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="f1f75b9b-4386-4845-8b52-282f2c188308"
        name="Enemy[]" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="82d6930f-0ad9-409a-a81e-bb3ea5ac6d0b"
        name="MotoBag"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <generalsInternal>
          <generalization
            Id="a31fe0a8-243a-41b9-a912-6432d41814e1"
            isSubstitutable="false">
            <classMoniker
              Id="02c43135-9ef2-4f8e-97e7-9d7c184b8e6f"
              LastKnownName="Enemy"
              LastKnownLocation="GameDesign.uml" />
          </generalization>
        </generalsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="4ac09b96-0db0-4a78-8878-5a0b02ed7657"
        name="BazzBamber"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <generalsInternal>
          <generalization
            Id="e2d3828c-b8db-46a5-b32a-5f8cba66da06"
            isSubstitutable="false">
            <classMoniker
              Id="02c43135-9ef2-4f8e-97e7-9d7c184b8e6f"
              LastKnownName="Enemy"
              LastKnownLocation="GameDesign.uml" />
          </generalization>
        </generalsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="1b91143e-4ae7-497f-b061-905274b6e0d1"
        name="Class1"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <Interface
        Id="89c24ef3-9a84-455d-8888-2ae6f55425a3"
        name="BackgroundItem"
        isAbstract="false"
        isLeaf="false" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="02be026b-e661-4082-bf75-20513782cf5e"
        name="Tree"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <interfaceRealization
            Id="5f6d5dc6-31af-45d4-86d6-8e1e793a4757">
            <interfaceMoniker
              Id="89c24ef3-9a84-455d-8888-2ae6f55425a3"
              LastKnownName="BackgroundItem"
              LastKnownLocation="GameDesign.uml" />
          </interfaceRealization>
        </suppliersInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="7679a70f-b0c2-409a-a728-837a165bd7f6"
        name="Grass"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <interfaceRealization
            Id="a93482f3-6c2c-4d00-b7ef-031aae8f0b11">
            <interfaceMoniker
              Id="89c24ef3-9a84-455d-8888-2ae6f55425a3"
              LastKnownName="BackgroundItem"
              LastKnownLocation="GameDesign.uml" />
          </interfaceRealization>
        </suppliersInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="61a3b3ee-9b02-4911-88d0-7ed7090e00f3"
        name="BackgroundItem[]" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="4c4324ca-2e46-452f-abe4-7a96e0bfff74"
        name="Timer"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <targetEnds>
          <association
            Id="91c6ab58-41ab-42d1-b434-56ff6f26be4f"
            isDerived="false"
            sourceEndRoleName="Timer"
            targetEndRoleName="Timer"
            isLeaf="false"
            isAbstract="false">
            <classMoniker
              Id="4c4324ca-2e46-452f-abe4-7a96e0bfff74"
              LastKnownName="Timer"
              LastKnownLocation="GameDesign.uml" />
            <relationshipOwnedElementsInternal>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="ef98908a-684d-4fd9-bd4d-c115b12b8276"
                  name="Timer"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="Composite"
                  isComposite="false"
                  isNavigableOwned="false" />
              </associationHasOwnedEnds>
              <associationHasOwnedEnds>
                <memberEnd
                  Id="708102a2-a003-4f78-ba8e-93692851c950"
                  name="Timer"
                  isLeaf="false"
                  isStatic="false"
                  isReadOnly="false"
                  isDerived="false"
                  isDerivedUnion="false"
                  aggregation="None"
                  isComposite="true" />
              </associationHasOwnedEnds>
            </relationshipOwnedElementsInternal>
          </association>
        </targetEnds>
        <ownedAttributesInternal>
          <property
            Id="14696313-5b71-4b27-974d-f92e5e0ca6d2"
            name="instance"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false">
            <type_NamedElement>
              <classMoniker
                Id="4c4324ca-2e46-452f-abe4-7a96e0bfff74"
                LastKnownName="Timer"
                LastKnownLocation="GameDesign.uml" />
            </type_NamedElement>
          </property>
        </ownedAttributesInternal>
        <ownedOperationsInternal>
          <operation
            Id="b62f53fd-9ac4-4c37-af26-f493acec740f"
            name="getInstance"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false" />
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="0566707a-64f0-4576-92e0-47f52e62bf73"
        name="Crabmeat"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <generalsInternal>
          <generalization
            Id="4640376c-e389-4f5b-af69-a30864be09ef"
            isSubstitutable="false">
            <classMoniker
              Id="02c43135-9ef2-4f8e-97e7-9d7c184b8e6f"
              LastKnownName="Enemy"
              LastKnownLocation="GameDesign.uml" />
          </generalization>
        </generalsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="bbc9575f-6c02-4400-a36a-942b2cb7a1cc"
        name="Factory"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <ownedOperationsInternal>
          <operation
            Id="249f88e7-af4f-4272-9cc3-b50c423ef3e8"
            name="CreateEnemy"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="48d08f90-f771-45fb-af75-7c9b1f8fa0fd"
                  name="type"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="4f1eafc3-f788-4fe5-8df9-5a89e5cd246c"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <classMoniker
                      Id="02c43135-9ef2-4f8e-97e7-9d7c184b8e6f"
                      LastKnownName="Enemy"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="bc0a9410-78f4-4c97-ac8e-b472381616b3"
            name="CreateMotoBag"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="ff10e3ee-ed99-405a-9a88-7795d2b20311"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <classMoniker
                      Id="02c43135-9ef2-4f8e-97e7-9d7c184b8e6f"
                      LastKnownName="Enemy"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="ae0a2380-b520-4051-ab28-1b6ca8abf395"
            name="CreateCrabmeat"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="f64595bd-cbe6-4e60-a679-b315c3800f9c"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <classMoniker
                      Id="02c43135-9ef2-4f8e-97e7-9d7c184b8e6f"
                      LastKnownName="Enemy"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="a25dba3c-8daa-4cec-abd2-bdc79960aae2"
            name="CreateBazzBamber"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="a6d1cfae-bcda-4a8e-b105-2d1c16bf103e"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <classMoniker
                      Id="02c43135-9ef2-4f8e-97e7-9d7c184b8e6f"
                      LastKnownName="Enemy"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="46a9d2c0-fab3-4a2e-a1ed-94ebaf0ed6e8"
        name="EnemyFactory"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <dependency
            Id="24736442-2237-4ceb-8ca5-a58cc29b4ce6">
            <classMoniker
              Id="02c43135-9ef2-4f8e-97e7-9d7c184b8e6f"
              LastKnownName="Enemy"
              LastKnownLocation="GameDesign.uml" />
          </dependency>
        </suppliersInternal>
        <generalsInternal>
          <generalization
            Id="321f3a07-ec02-489e-8c3b-263be0ce323f"
            isSubstitutable="false">
            <classMoniker
              Id="bbc9575f-6c02-4400-a36a-942b2cb7a1cc"
              LastKnownName="Factory"
              LastKnownLocation="GameDesign.uml" />
          </generalization>
        </generalsInternal>
        <ownedOperationsInternal>
          <operation
            Id="7702722d-85b6-4983-b897-41a49b62423e"
            name="CreateEnemy"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="013514b9-b51b-45aa-baa4-a43db4571204"
                  name="type"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="f54891cf-3ff9-4631-bab4-c44d6fc68831"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <classMoniker
                      Id="02c43135-9ef2-4f8e-97e7-9d7c184b8e6f"
                      LastKnownName="Enemy"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="a9c3920e-91a1-4529-a81d-8d134592168b"
        name="FriendsFactory"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <dependency
            Id="61f0b02c-c583-45a5-81e6-69892ae2bd19">
            <classMoniker
              Id="02c43135-9ef2-4f8e-97e7-9d7c184b8e6f"
              LastKnownName="Enemy"
              LastKnownLocation="GameDesign.uml" />
          </dependency>
        </suppliersInternal>
        <generalsInternal>
          <generalization
            Id="001089fb-1892-4a81-8dbe-382ec99131d2"
            isSubstitutable="false">
            <classMoniker
              Id="bbc9575f-6c02-4400-a36a-942b2cb7a1cc"
              LastKnownName="Factory"
              LastKnownLocation="GameDesign.uml" />
          </generalization>
        </generalsInternal>
        <ownedOperationsInternal>
          <operation
            Id="9d95c2ae-5bf3-4ef7-9925-7849f43227e2"
            name="CreateEnemy"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="84f9b727-2da3-462c-90f2-fbcb0d612a9a"
                  name="type"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="dbbe64f7-262a-4919-ab72-6da9e019a2f5"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <classMoniker
                      Id="02c43135-9ef2-4f8e-97e7-9d7c184b8e6f"
                      LastKnownName="Enemy"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <Interface
        Id="074e6dfc-9aaa-4c26-8ca6-73c6beedef77"
        name="IPlayer"
        isAbstract="false"
        isLeaf="false" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="ad2602df-32dc-4871-a9b4-91bd28e87391"
        name="PlayerDecorator"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <interfaceRealization
            Id="d2986aaf-eaed-422d-b493-7f461711d979">
            <interfaceMoniker
              Id="074e6dfc-9aaa-4c26-8ca6-73c6beedef77"
              LastKnownName="IPlayer"
              LastKnownLocation="GameDesign.uml" />
          </interfaceRealization>
        </suppliersInternal>
        <ownedAttributesInternal>
          <property
            Id="779f01f1-fc0a-4347-b0bd-258bcf2c4fdf"
            name="player"
            isLeaf="false"
            isStatic="false"
            isReadOnly="false"
            isUnique="false"
            isDerived="false"
            isDerivedUnion="false"
            aggregation="None"
            isComposite="false" />
        </ownedAttributesInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="50397a4d-b027-4126-98ba-37cf1c399d23"
        name="SuperPlayer"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <generalsInternal>
          <generalization
            Id="cd94f545-4fc4-4007-80a9-0641245023ed"
            isSubstitutable="false">
            <classMoniker
              Id="ad2602df-32dc-4871-a9b4-91bd28e87391"
              LastKnownName="PlayerDecorator"
              LastKnownLocation="GameDesign.uml" />
          </generalization>
        </generalsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="47d66e8c-e587-4b99-b272-dd79ae7e2afb"
        name="BackgroundFactory"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <dependency
            Id="bbbb6025-c830-40d7-be11-5f9fc071f23f">
            <interfaceMoniker
              Id="89c24ef3-9a84-455d-8888-2ae6f55425a3"
              LastKnownName="BackgroundItem"
              LastKnownLocation="GameDesign.uml" />
          </dependency>
        </suppliersInternal>
        <ownedOperationsInternal>
          <operation
            Id="58a873ca-c623-4746-917b-4bd718ab8910"
            name="getGrass"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="f5526c13-ef80-463f-b4a1-eeb5afae455c"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="89c24ef3-9a84-455d-8888-2ae6f55425a3"
                      LastKnownName="BackgroundItem"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="bfba112c-1fd2-4685-a6df-16e975c9ec0e"
            name="getBush"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="a70bbde6-8d01-4e9c-957a-b0a50d4a82e5"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="89c24ef3-9a84-455d-8888-2ae6f55425a3"
                      LastKnownName="BackgroundItem"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="254acc76-83c3-47c7-8302-31f2a13375e6"
            name="getTree"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="d8d75220-6d6a-4112-973d-8543d890be34"
                  name=")"
                  direction="In"
                  isUnique="false">
                  <type_NamedElement>
                    <undefinedTypeMoniker
                      Id="fa075a89-34e4-42d0-aab9-fac526f4434d"
                      LastKnownName="GameDesign::BackgroundItem("
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <undefinedType
        Id="fa075a89-34e4-42d0-aab9-fac526f4434d"
        name="GameDesign::BackgroundItem(" />
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="de66d807-0d28-4b1c-b780-0d298a0ee46e"
        name="GreenThemeFactory"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <generalsInternal>
          <generalization
            Id="5a8a9ea3-e39c-4021-8fe7-d341051ba135"
            isSubstitutable="false">
            <classMoniker
              Id="47d66e8c-e587-4b99-b272-dd79ae7e2afb"
              LastKnownName="BackgroundFactory"
              LastKnownLocation="GameDesign.uml" />
          </generalization>
        </generalsInternal>
        <ownedOperationsInternal>
          <operation
            Id="d917497c-c624-4b1a-ae3e-172b3086c1ef"
            name="getGrass"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="da6a1a01-a6dc-4e26-b4d5-0392a960fa66"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="89c24ef3-9a84-455d-8888-2ae6f55425a3"
                      LastKnownName="BackgroundItem"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="4dca4c03-d002-444b-8304-c18d180ccf1c"
            name="getBush"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="66afbb1b-a894-4237-ad15-378b1ccd71de"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="89c24ef3-9a84-455d-8888-2ae6f55425a3"
                      LastKnownName="BackgroundItem"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="24237ef3-3d37-4c1c-bc96-ef1d8bb5d753"
            name="getTree"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="3e8b6d12-9c3f-4c27-a3d4-7c58c7a4aaf1"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="89c24ef3-9a84-455d-8888-2ae6f55425a3"
                      LastKnownName="BackgroundItem"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="b0ce20df-b51c-4dce-8334-86b67f4d88b2"
        name="YellowThemeFactory"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <generalsInternal>
          <generalization
            Id="5e2614bd-b24f-4b10-ab14-2e75a843c068"
            isSubstitutable="false">
            <classMoniker
              Id="47d66e8c-e587-4b99-b272-dd79ae7e2afb"
              LastKnownName="BackgroundFactory"
              LastKnownLocation="GameDesign.uml" />
          </generalization>
        </generalsInternal>
        <ownedOperationsInternal>
          <operation
            Id="f5a96dac-0b41-44be-b9e4-c41e66d01bce"
            name="getGrass"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="a6dae3b8-2e68-43f0-b761-a348374431cd"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="89c24ef3-9a84-455d-8888-2ae6f55425a3"
                      LastKnownName="BackgroundItem"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="f8d5a1e8-338a-4c09-a797-ed008958fac2"
            name="getBush"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="78e9268b-7419-41ee-a18f-46bfd20dcd7c"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="89c24ef3-9a84-455d-8888-2ae6f55425a3"
                      LastKnownName="BackgroundItem"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
          <operation
            Id="5ab09713-03a5-417a-856b-1915b3f7d8d9"
            name="getTree"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="5bb96aa6-2106-4a1a-be42-dc5774951eea"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <interfaceMoniker
                      Id="89c24ef3-9a84-455d-8888-2ae6f55425a3"
                      LastKnownName="BackgroundItem"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="88e2cfd6-fd6c-4809-9b7d-d3a21c46ca0d"
        name="GreenTheme.Bush"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <interfaceRealization
            Id="503638c2-381b-4ee5-b588-8b83db222388">
            <interfaceMoniker
              Id="89c24ef3-9a84-455d-8888-2ae6f55425a3"
              LastKnownName="BackgroundItem"
              LastKnownLocation="GameDesign.uml" />
          </interfaceRealization>
        </suppliersInternal>
        <ownedOperationsInternal>
          <operation
            Id="ba39aae2-d366-4b83-b220-8d30b1a4f859"
            name="getTextureName"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="c6794a24-e60e-489d-8a39-9784b00f1e6a"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="ac05cc28-bd36-4e3e-9578-895f5a47b2ca"
        name="GreenTheme.Tree"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <interfaceRealization
            Id="39a99790-9743-40be-84ae-b1180878db8c">
            <interfaceMoniker
              Id="89c24ef3-9a84-455d-8888-2ae6f55425a3"
              LastKnownName="BackgroundItem"
              LastKnownLocation="GameDesign.uml" />
          </interfaceRealization>
        </suppliersInternal>
        <ownedOperationsInternal>
          <operation
            Id="b6fc508d-2497-4a8f-9615-6644f2da1edb"
            name="getTextureName"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="78f6417b-a598-4da1-97c1-9c1bb7a592a0"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="8be1f5c9-5a72-4a10-ba3c-863e6e16d1c3"
        name="GreenTheme.Grass"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <interfaceRealization
            Id="5ab0edb8-2a16-4af0-b59b-13f691f2bb42">
            <interfaceMoniker
              Id="89c24ef3-9a84-455d-8888-2ae6f55425a3"
              LastKnownName="BackgroundItem"
              LastKnownLocation="GameDesign.uml" />
          </interfaceRealization>
        </suppliersInternal>
        <ownedOperationsInternal>
          <operation
            Id="bf5d6a1e-22a0-40d2-9620-6289b4a041c5"
            name="getTextureName"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="12c3595f-72d4-4a3f-a8fa-534d66c321e2"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="b09aab8b-a5dc-46f9-87cc-e518718db5f9"
        name="YellowTheme.Bush"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <interfaceRealization
            Id="3887627b-23a8-4925-be66-4b1e2b7f9945">
            <interfaceMoniker
              Id="89c24ef3-9a84-455d-8888-2ae6f55425a3"
              LastKnownName="BackgroundItem"
              LastKnownLocation="GameDesign.uml" />
          </interfaceRealization>
        </suppliersInternal>
        <ownedOperationsInternal>
          <operation
            Id="b25efd13-339d-44fb-bcbc-36dd75c6a04f"
            name="getTextureName"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="24ba73b7-561a-4a70-9417-b35fed4a37e9"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="50a26fdc-ac2a-4448-b8f4-32bb708806ca"
        name="YellowTheme.Tree"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <interfaceRealization
            Id="310b57b9-1bae-4bf8-a683-f34aaa4a1d8f">
            <interfaceMoniker
              Id="89c24ef3-9a84-455d-8888-2ae6f55425a3"
              LastKnownName="BackgroundItem"
              LastKnownLocation="GameDesign.uml" />
          </interfaceRealization>
        </suppliersInternal>
        <ownedOperationsInternal>
          <operation
            Id="0a134d67-62e5-46a6-8a74-0d3023b9eb0a"
            name="getTextureName"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="a176707f-0290-4280-9781-1605916514f7"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
    <packageHasNamedElement>
      <class
        Id="6bd75642-2a8d-4273-a61d-74e049df0922"
        name="YellowTheme.Grass"
        isAbstract="false"
        isLeaf="false"
        isActiveClass="false">
        <suppliersInternal>
          <interfaceRealization
            Id="bde63c64-202a-43d2-a015-0a852876121b">
            <interfaceMoniker
              Id="89c24ef3-9a84-455d-8888-2ae6f55425a3"
              LastKnownName="BackgroundItem"
              LastKnownLocation="GameDesign.uml" />
          </interfaceRealization>
        </suppliersInternal>
        <ownedOperationsInternal>
          <operation
            Id="68512b37-ce9a-4a5f-9221-4952b3c14e67"
            name="getTextureName"
            isLeaf="false"
            isStatic="false"
            isAbstract="false"
            concurrency="Sequential"
            isQuery="false">
            <ownedParameters>
              <operationHasOwnedParameters>
                <parameter
                  Id="a6986029-3bf7-448e-8b2a-38c228abb239"
                  direction="Return"
                  isUnique="false">
                  <type_NamedElement>
                    <primitiveTypeMoniker
                      Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
                      LastKnownName="String"
                      LastKnownLocation="GameDesign.uml" />
                  </type_NamedElement>
                </parameter>
              </operationHasOwnedParameters>
            </ownedParameters>
          </operation>
        </ownedOperationsInternal>
      </class>
    </packageHasNamedElement>
  </packagedElements>
  <primitiveType
    Id="220a3521-e091-4221-bae9-3ef9018e845c"
    name="Integer"
    isAbstract="false"
    isLeaf="false" />
  <primitiveType
    Id="8943dc84-709e-4f62-b15a-a3273aa6f165"
    name="Boolean"
    isAbstract="false"
    isLeaf="false" />
  <primitiveType
    Id="59259974-6d55-42c6-b7bd-763d77ac8ef9"
    name="String"
    isAbstract="false"
    isLeaf="false" />
  <primitiveType
    Id="3ab42e7d-4969-445a-b209-471f5cb8209c"
    name="UnlimitedNatural"
    isAbstract="false"
    isLeaf="false" />
</modelStoreModel>