<?xml version="1.0"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:c="components">
	<xs:import schemaLocation="../Components.xsd" namespace="components"/>
	<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="../xml.xsd"/>

	<xs:element name="Entity">
		<xs:complexType>
			<xs:all>
				<xs:element name="Components" minOccurs="0">
					<xs:complexType>
						<xs:all>
							<xs:element ref="c:Transform" minOccurs="0"/>
							<xs:element ref="c:Physics" minOccurs="0"/>
							<xs:element ref="c:Model" minOccurs="0"/>
							<xs:element ref="c:RaptorCopter" minOccurs="0"/>
							<xs:element ref="c:Player" minOccurs="0"/>
							<xs:element ref="c:ExplosionEffect" minOccurs="0"/>
							<xs:element ref="c:Camera" minOccurs="0"/>
							<xs:element ref="c:Text" minOccurs="0"/>
							<xs:element ref="c:AABB" minOccurs="0"/>
							<xs:element ref="c:Trigger" minOccurs="0"/>
							<xs:element ref="c:Health" minOccurs="0"/>
							<xs:element ref="c:CapturePoint" minOccurs="0"/>
							<xs:element ref="c:PointLight" minOccurs="0"/>
							<xs:element ref="c:Listener" minOccurs="0"/>
							<xs:element ref="c:SoundEmitter" minOccurs="0"/>
							<xs:element ref="c:Collidable" minOccurs="0"/>
							<xs:element ref="c:Spawner" minOccurs="0"/>
							<xs:element ref="c:SpawnPoint" minOccurs="0"/>
							<xs:element ref="c:PlayerSpawn" minOccurs="0"/>
							<xs:element ref="c:Team" minOccurs="0"/>
							<xs:element ref="c:DirectionalLight" minOccurs="0"/>
							<xs:element ref="c:SceneLight" minOccurs="0"/>
							<xs:element ref="c:UniformScale" minOccurs="0"/>
							<xs:element ref="c:EditorWidget" minOccurs="0"/>
							<xs:element ref="c:Lifetime" minOccurs="0"/>
							<xs:element ref="c:HiddenForLocalPlayer" minOccurs="0"/>
							<xs:element ref="c:Fill" minOccurs="0"/>
							<xs:element ref="c:Animation" minOccurs="0"/>
							<xs:element ref="c:BoneAttachment" minOccurs="0"/>
							<xs:element ref="c:AssaultWeapon" minOccurs="0"/>
							<xs:element ref="c:Shield" minOccurs="0"/>
							<xs:element ref="c:Shielded" minOccurs="0"/>
							<xs:element ref="c:CapturePointHUD" minOccurs="0"/>
							<xs:element ref="c:BlendOverride" minOccurs="0"/>
							<xs:element ref="c:TextFieldReader" minOccurs="0"/>
							<xs:element ref="c:Blend" minOccurs="0"/>
							<xs:element ref="c:BlendAdditive" minOccurs="0"/>
							<xs:element ref="c:KillFeed" minOccurs="0"/>
							<xs:element ref="c:Sprite" minOccurs="0"/>
							<xs:element ref="c:Menu" minOccurs="0"/>
							<xs:element ref="c:Page" minOccurs="0"/>
							<xs:element ref="c:Button" minOccurs="0"/>
							<xs:element ref="c:WeaponAttachment" minOccurs="0"/>
							<xs:element ref="c:AbilityCooldownHUD" minOccurs="0"/>
							<xs:element ref="c:DefenderWeapon" minOccurs="0"/>
							<xs:element ref="c:SidearmWeapon" minOccurs="0"/>
							<xs:element ref="c:CapturePointArrowHUD" minOccurs="0"/>
							<xs:element ref="c:BoostIconsHUD" minOccurs="0"/>
							<xs:element ref="c:FloatingEffect" minOccurs="0"/>
							<xs:element ref="c:AmmoPickup" minOccurs="0"/>
							<xs:element ref="c:HealthPickup" minOccurs="0"/>
							<xs:element ref="c:CapturePointGameMode" minOccurs="0"/>
							<xs:element ref="c:DoubleJump" minOccurs="0"/>
							<xs:element ref="c:HealthHUD" minOccurs="0"/>
							<xs:element ref="c:SpriteIndicator" minOccurs="0"/>
							<xs:element ref="c:InputCmdButton" minOccurs="0"/>
							<xs:element ref="c:ScoreScreen" minOccurs="0"/>
							<xs:element ref="c:ScoreIdentity" minOccurs="0"/>
							<xs:element ref="c:NetworkComponent" minOccurs="0"/>
							<xs:element ref="c:ServerIdentity" minOccurs="0"/>
							<xs:element ref="c:ServerList" minOccurs="0"/>
							<xs:element ref="c:EndScreen" minOccurs="0"/>
							<xs:element ref="c:Unpickable" minOccurs="0"/>
							<xs:element ref="c:Fade" minOccurs="0"/>
							<xs:element ref="c:ConfigBtnResolution" minOccurs="0"/>
							<xs:element ref="c:ConfigBtnFloat" minOccurs="0"/>
						</xs:all>
					</xs:complexType>
				</xs:element>

				<xs:element name="Children" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element ref="Entity" minOccurs="0" maxOccurs="unbounded"/>
							<xs:element name="EntityRef" minOccurs="0" maxOccurs="unbounded">
								<xs:complexType>
										<xs:attribute name="file" type="xs:string"/> 
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:all>
			<xs:attribute ref="xml:base"/>
			<xs:attribute name="name" type="xs:string" default=""/> 
		</xs:complexType>
	</xs:element>
</xs:schema>