GAM456-SpaceInvaders / SpaceInvaders / 0_Diagrams / Collision.cd
Collision.cd
Raw
<?xml version="1.0" encoding="utf-8"?>
<ClassDiagram MajorVersion="1" MinorVersion="1">
  <Class Name="SpaceInvaders.CollisionObject">
    <Position X="3.75" Y="3.5" Width="1.5" />
    <Members>
      <Method Name="CollisionObject" Hidden="true" />
    </Members>
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAQA=</HashCode>
      <FileName>6_Collision\CollisionObject.cs</FileName>
    </TypeIdentifier>
    <ShowAsAssociation>
      <Field Name="pCollisionRect" />
      <Field Name="pCollisionSprite" />
    </ShowAsAssociation>
  </Class>
  <Class Name="SpaceInvaders.CollisionRect" Collapsed="true">
    <Position X="1" Y="3.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAQAAAAA=</HashCode>
      <FileName>6_Collision\CollisionRect.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="SpaceInvaders.SpriteBox" Collapsed="true">
    <Position X="1" Y="1.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>ggQAAAACAAAABgBAQAAABAAABAIEAAAAABhgAABABAA=</HashCode>
      <FileName>1_Sprite\SpriteBox\SpriteBox.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="SpaceInvaders.CollisionPair">
    <Position X="9" Y="1" Width="1.5" />
    <Members>
      <Method Name="~CollisionPair" Hidden="true" />
      <Method Name="Clear" Hidden="true" />
      <Method Name="CollisionPair" Hidden="true" />
      <Method Name="Compare" Hidden="true" />
      <Method Name="GetName" Hidden="true" />
      <Method Name="PrintStats" Hidden="true" />
      <Method Name="Reset" Hidden="true" />
    </Members>
    <Compartments>
      <Compartment Name="Fields" Collapsed="true" />
    </Compartments>
    <NestedTypes>
      <Enum Name="SpaceInvaders.CollisionPair.CollideObjs" Collapsed="true">
        <TypeIdentifier>
          <NewMemberFileName>6_Collision\CollisionPair.cs</NewMemberFileName>
        </TypeIdentifier>
      </Enum>
    </NestedTypes>
    <AssociationLine Name="treeB" Type="SpaceInvaders.GameObject">
      <MemberNameLabel ManuallyPlaced="true">
        <Position X="0.113" Y="-0.034" />
      </MemberNameLabel>
    </AssociationLine>
    <TypeIdentifier>
      <HashCode>AAgAAAAAAAAABABAAAAQBgAAAACUAAAwCABAAABABAA=</HashCode>
      <FileName>6_Collision\CollisionPair.cs</FileName>
    </TypeIdentifier>
    <ShowAsAssociation>
      <Field Name="treeA" />
      <Field Name="treeB" />
      <Field Name="pSubject" />
    </ShowAsAssociation>
  </Class>
  <Class Name="SpaceInvaders.CollisionPairMan" Collapsed="true">
    <Position X="11.5" Y="2" Width="1.5" />
    <Members>
      <Method Name="CollisionPairMan" Hidden="true" />
      <Method Name="Create" Hidden="true" />
      <Method Name="derivedCreate" Hidden="true" />
      <Method Name="Destroy" Hidden="true" />
      <Method Name="GetInstance" Hidden="true" />
      <Method Name="PrintCollision" Hidden="true" />
    </Members>
    <Compartments>
      <Compartment Name="Fields" Collapsed="true" />
    </Compartments>
    <TypeIdentifier>
      <HashCode>AAEAAAAAAAAAAhAAAAAAAAAABAFAIFEEAAACAAAAwAA=</HashCode>
      <FileName>6_Collision\CollisionPairMan.cs</FileName>
    </TypeIdentifier>
    <ShowAsAssociation>
      <Field Name="pCompare" />
    </ShowAsAssociation>
  </Class>
  <Class Name="SpaceInvaders.Visitor" Collapsed="true">
    <Position X="6.25" Y="0.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AIAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>6_Collision\Visitor.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="SpaceInvaders.GameObject">
    <Position X="6.25" Y="2.5" Width="1.5" />
    <Members>
      <Method Name="~GameObject" Hidden="true" />
      <Method Name="GetName" Hidden="true" />
      <Method Name="PrintComponent" Hidden="true" />
    </Members>
    <Compartments>
      <Compartment Name="Fields" Collapsed="true" />
    </Compartments>
    <NestedTypes>
      <Enum Name="SpaceInvaders.GameObject.ObjectName" Collapsed="true">
        <TypeIdentifier>
          <NewMemberFileName>5_GameObject\GameObject.cs</NewMemberFileName>
        </TypeIdentifier>
      </Enum>
    </NestedTypes>
    <TypeIdentifier>
      <HashCode>AAQQAAAAAAoAAAAAAAAABAGAABgEIAAAAQBgAIAABEA=</HashCode>
      <FileName>4_GameObject\GameObject.cs</FileName>
    </TypeIdentifier>
    <ShowAsAssociation>
      <Field Name="pProxy" />
      <Field Name="pColObj" />
    </ShowAsAssociation>
  </Class>
  <Class Name="SpaceInvaders.SpriteProxy" Collapsed="true">
    <Position X="3.75" Y="2.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>gAQAAAAAAAAADABAAAAABAgAAAAEAAAAABBgAABABAE=</HashCode>
      <FileName>1_Sprite\SpriteProxy\SpriteProxy.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="SpaceInvaders.Component" Collapsed="true">
    <Position X="6.25" Y="1.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAIIIAAAgAAAAAACAAAABAAAEAAAAAAAAAAA=</HashCode>
      <FileName>5_Composite\Component.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="SpaceInvaders.CollisionSubject">
    <Position X="9" Y="4.25" Width="1.5" />
    <Members>
      <Method Name="~CollisionSubject" Hidden="true" />
      <Method Name="CollisionSubject" Hidden="true" />
    </Members>
    <AssociationLine Name="pObjA" Type="SpaceInvaders.GameObject" FixedFromPoint="true">
      <Path>
        <Point X="9" Y="4.438" />
        <Point X="7.75" Y="4.438" />
      </Path>
    </AssociationLine>
    <AssociationLine Name="pObjB" Type="SpaceInvaders.GameObject" FixedFromPoint="true">
      <Path>
        <Point X="9" Y="4.812" />
        <Point X="7.75" Y="4.812" />
      </Path>
    </AssociationLine>
    <TypeIdentifier>
      <HashCode>AAAAAIAAAAAAAEAAAAAQAgAAAAAAAAAAAEAAAAAAAAA=</HashCode>
      <FileName>6_Collision\CollisionSubject.cs</FileName>
    </TypeIdentifier>
    <ShowAsAssociation>
      <Field Name="pObjA" />
      <Field Name="pObjB" />
    </ShowAsAssociation>
  </Class>
  <Class Name="SpaceInvaders.CollisionObserver">
    <Position X="12" Y="4.25" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAQAAAAAAAAAAAAQAABAAAAAAAAAAAA=</HashCode>
      <FileName>6_Collision\CollisionObserver.cs</FileName>
    </TypeIdentifier>
    <ShowAsAssociation>
      <Field Name="pSubject" />
    </ShowAsAssociation>
  </Class>
  <Class Name="SpaceInvaders.BombObserver" Collapsed="true">
    <Position X="14.25" Y="3" Width="1.5" />
    <InheritanceLine Type="SpaceInvaders.CollisionObserver" FixedFromPoint="true">
      <Path>
        <Point X="13.5" Y="4.812" />
        <Point X="13.875" Y="4.812" />
        <Point X="13.875" Y="3.346" />
        <Point X="14.25" Y="3.346" />
      </Path>
    </InheritanceLine>
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAA=</HashCode>
      <FileName>6_Collision\OtherObservers\BombObserver.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="SpaceInvaders.Bombs" Collapsed="true">
    <Position X="3.25" Y="7.5" Width="1.5" />
    <InheritanceLine Type="SpaceInvaders.Leaf" ManuallyRouted="true">
      <Path>
        <Point X="5" Y="7.191" />
        <Point X="5" Y="7.407" />
        <Point X="4" Y="7.407" />
        <Point X="4" Y="7.5" />
      </Path>
    </InheritanceLine>
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>4_GameObject\Bomb\Bombs.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="SpaceInvaders.Leaf" Collapsed="true">
    <Position X="4.25" Y="6.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAIIIAAAAAAAAAACAAAAAAAAEAAAAAAAAAAA=</HashCode>
      <FileName>5_Composite\Leaf.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="SpaceInvaders.Composite" Collapsed="true">
    <Position X="8" Y="6.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAIIIAAAAAAAAAACAAAAAAAAEAAAAAIAAgAA=</HashCode>
      <FileName>5_Composite\Composite.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="SpaceInvaders.Shields" Collapsed="true">
    <Position X="5.25" Y="7.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAQAAAAAAAAAA=</HashCode>
      <FileName>4_GameObject\Shield\Shields.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="SpaceInvaders.BombRoot" Collapsed="true">
    <Position X="7.25" Y="7.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>4_GameObject\Bomb\BombRoot.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="SpaceInvaders.ShieldRoot" Collapsed="true">
    <Position X="9" Y="7.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AIQAAAAAAAAQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>4_GameObject\Shield\ShieldRoot.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="SpaceInvaders.ShieldBrick" Collapsed="true">
    <Position X="5.25" Y="8.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AIQAAAAAAAAQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>4_GameObject\Shield\ShieldBrick.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="SpaceInvaders.Bomb" Collapsed="true">
    <Position X="3.25" Y="8.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AIQABAAAAAAAAAAAAAAAAAAABAAAAAAAIAAAAEAAAAA=</HashCode>
      <FileName>4_GameObject\Bomb\Bomb.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="SpaceInvaders.ShieldColumn" Collapsed="true">
    <Position X="10.75" Y="7.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AIQAAAAAAAAQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>4_GameObject\Shield\ShieldColumn.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="SpaceInvaders.ShieldGrid" Collapsed="true">
    <Position X="12.5" Y="7.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AIQAAAAAAAAQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>4_GameObject\Shield\ShieldGrid.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="SpaceInvaders.ShieldFactory" Collapsed="true">
    <Position X="10.5" Y="6.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAREAAACAAAABAAAAAABAQAAAAAAEACAAAAAAA=</HashCode>
      <FileName>4_GameObject\Shield\ShieldFactory.cs</FileName>
    </TypeIdentifier>
    <ShowAsAssociation>
      <Field Name="pTree" />
      <Field Name="pBatch" />
      <Field Name="pCollisionBatch" />
    </ShowAsAssociation>
  </Class>
  <Class Name="SpaceInvaders.SpriteBatch" Collapsed="true">
    <Position X="13.25" Y="6.25" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAEYgBwABAAAAAAABAAAAAAEAAAAAABQAABADAA=</HashCode>
      <FileName>1_Sprite\SpriteBatch\SpriteBatch.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="SpaceInvaders.BoxProxy" Collapsed="true">
    <Position X="1" Y="3" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAQAAAAAAAAADAAAAAAABAAAAAAEAAAAABBhAABABAE=</HashCode>
      <FileName>1_Sprite\SpriteBox\BoxProxy.cs</FileName>
    </TypeIdentifier>
    <ShowAsAssociation>
      <Field Name="pBox" />
    </ShowAsAssociation>
  </Class>
  <Class Name="SpaceInvaders.RemoveMissileObserver" Collapsed="true">
    <Position X="14.25" Y="3.75" Width="1.5" />
    <InheritanceLine Type="SpaceInvaders.CollisionObserver" FixedFromPoint="true">
      <Path>
        <Point X="13.5" Y="4.812" />
        <Point X="13.875" Y="4.812" />
        <Point X="13.875" Y="4.096" />
        <Point X="14.25" Y="4.096" />
      </Path>
    </InheritanceLine>
    <TypeIdentifier>
      <HashCode>AQAAAAAAAAAAAAQAAAAAAAAAAAAAAABAAAAAAAAAAAA=</HashCode>
      <FileName>6_Collision\OtherObservers\RemoveMissileObserver.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="SpaceInvaders.ShipMoveObserver" Collapsed="true">
    <Position X="14.25" Y="4.5" Width="1.5" />
    <InheritanceLine Type="SpaceInvaders.CollisionObserver" FixedFromPoint="true">
      <Path>
        <Point X="13.5" Y="4.812" />
        <Point X="14.25" Y="4.812" />
      </Path>
    </InheritanceLine>
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAA=</HashCode>
      <FileName>6_Collision\ShipObservers\ShipMoveObserver.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="SpaceInvaders.ShipReadyObserver" Collapsed="true">
    <Position X="14.25" Y="5.25" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAA=</HashCode>
      <FileName>6_Collision\ShipObservers\ShipReadyObserver.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Font Name="Segoe UI" Size="9" />
</ClassDiagram>