<?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>