<?xml version="1.0"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="types">
	<xs:import schemaLocation="../Types.xsd" namespace="types"/>

	<xs:element name="ExplosionEffect">
		<xs:annotation>
			<xs:documentation>A component that trigger the death effect</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:all>
				<xs:element name="ExplosionOrigin" type="t:Vector" minOccurs="0">
					<xs:annotation><xs:documentation>The position in which to spawn the component</xs:documentation></xs:annotation>
				</xs:element>
				<xs:element name="TimeSinceDeath" type="t:double" minOccurs="0">
					<xs:annotation><xs:documentation>Seconds since death</xs:documentation></xs:annotation>
				</xs:element>
				<xs:element name="ExplosionDuration" type="t:double" minOccurs="0">
					<xs:annotation><xs:documentation>How many seconds the death animation should be</xs:documentation></xs:annotation>
				</xs:element>
				<xs:element name="Speed" type="t:double" minOccurs="0"/>
				<xs:element name="Delay" type="t:double" minOccurs="0"/>
				<!--<xs:element name="Gravity" type="t:bool" minOccurs="0">
					<xs:annotation><xs:documentation>Enable/disable gravity</xs:documentation></xs:annotation>
				</xs:element>-->
				<!--<xs:element name="GravityForce" type="t:double" minOccurs="0">
					<xs:annotation><xs:documentation>The force of the gravity</xs:documentation></xs:annotation>
				</xs:element>-->
				<!--<xs:element name="ObjectRadius" type="t:double" minOccurs="0">
					<xs:annotation><xs:documentation>Object radius (TO BE REMOVED AND AUTOMATED)</xs:documentation></xs:annotation>
				</xs:element>-->
				<xs:element name="EndColor" type="t:Color" minOccurs="0">
					<xs:annotation><xs:documentation>The tint the polys end with</xs:documentation></xs:annotation>
				</xs:element>
				<xs:element name="Randomness" type="t:bool" minOccurs="0">
					<xs:annotation><xs:documentation>Add some randomness to the explosion</xs:documentation></xs:annotation>
				</xs:element>
				<xs:element name="RandomnessScalar" type="t:double" minOccurs="0">
					<xs:annotation><xs:documentation>Alter the power of the randomness</xs:documentation></xs:annotation>
				</xs:element>
				<xs:element name="Velocity" type="t:Vector" minOccurs="0">
					<xs:annotation><xs:documentation>The velocity factors (start/end)</xs:documentation></xs:annotation>
				</xs:element>
				<xs:element name="ColorByDistance" type="t:bool" minOccurs="0">
					<xs:annotation><xs:documentation>Change the color by its moved distance instead of by its time</xs:documentation></xs:annotation>
				</xs:element>
				<!--<xs:element name="Wireframe" type="t:bool" minOccurs="0">
					<xs:annotation><xs:documentation>Enable/disable wireframe</xs:documentation></xs:annotation>
				</xs:element>-->
				<xs:element name="ExponentialAccelaration" type="t:bool" minOccurs="0">
					<xs:annotation><xs:documentation>Linear/Exponential accelaration</xs:documentation></xs:annotation>
				</xs:element>
				<xs:element name="Pulsate" type="t:bool" minOccurs="0">
					<xs:annotation><xs:documentation>Pulsate the effect</xs:documentation></xs:annotation>
				</xs:element>
				<xs:element name="Reverse" type="t:bool" minOccurs="0">
					<xs:annotation><xs:documentation>Reverse the effect</xs:documentation></xs:annotation>
				</xs:element>
				<xs:element name="ColorDistanceScalar" type="t:double" minOccurs="0">
					<xs:annotation><xs:documentation>Scale the distance of the color change</xs:documentation></xs:annotation>
				</xs:element>
			</xs:all>
		</xs:complexType>
	</xs:element>
</xs:schema>