<?xml version="1.0" encoding="utf-8"?>
<CLASS name="MyPlayer">

	<DESCRIPTION>
This is a random fake class used to demonstrate features of the XML Code Template Engine
	</DESCRIPTION>
	
	<PARENT name="BiPed" visibility="public" />

	<INCLUDE name="&lt;iostream&gt;" />
	<INCLUDE name="&lt;string&gt;" />
	
	<VARIABLES>
		<COMMENT text="Bunch of player characteristics" />
		<VARIABLE name="name"  type="String" visibility="private" comm="This is the name of the player" />
		<VARIABLE name="jobCode" type="Char" arraySize="5" />
		<VARIABLE name="likesNutsInBannanaBread" type="Boolean" visibility="private" comm="People that like nuts in bananna bread are evil!" />
		<BR/>
		<COMMENT text="Measurements" />
		<VARIABLE name="nostrilSize" 	type="Int32" arrayCount="2" />
		<VARIABLE name="eyeballRadius" 	type="Int32" arrayCount="2" />
		<VARIABLE name="eyebrowDensity" type="Int32" />
		<VARIABLE name="height" 		type="Int32" />
		<BR/>
		<COMMENT text="Weapon proficiencies" />
		<VARIABLE name="coconutLobbing" 	type="Int8"   default="0" comm="How proficient player is at lobbing coconuts"/>
		<VARIABLE name="squirrelLobbing" 	type="Int8"  default="0" comm="How proficient player is at lobbing squirrels"/>
		<VARIABLE name="horseShoeLobbing" 	type="Int8" default="0" comm="How proficient player is at lobbing horse shoes" />
		<BR/>
		<COMMENT text="Player count" />
		<VARIABLE name="playerCount" type="Int32" static="true"	comm="Count of total players"/>
	</VARIABLES>
	
	<FUNCTIONS>	
		<TEMPLATE_FUNCTION name="method_constructor" />
		<TEMPLATE_FUNCTION name="method_equality_assign" /> <!-- Automatically adds in copy constructor also -->
		<TEMPLATE_FUNCTION name="method_writeugp" />
		<TEMPLATE_FUNCTION name="method_readugp" />
		<TEMPLATE_FUNCTION name="method_log_it" />
	
		<EMPTY_FUNCTION name="weeeHoo" const="true">
			<PARAMETERS>
				<VARIABLE name="name" 			type="String" const="true" />
				<VARIABLE name="countSomething" type="Int16" const="true" passby="Reference" />
				<VARIABLE name="anArray" 		type="UInt8" arrayCount="10" const="true" />
			</PARAMETERS>
			<RETURN_VARIABLE type="Boolean" const="true" />
		</EMPTY_FUNCTION>
	
		<EMPTY_FUNCTION name="eatFood" virtual="true">
			<PARAMETERS>
				<VARIABLE name="type" 	 type="Int16" />
				<VARIABLE name="howMuch" type="Int16" const="true" passby="Reference" />
				<VARIABLE name="howFast" type="UInt8"/>
			</PARAMETERS>
			<RETURN_VARIABLE type="void" />
		</EMPTY_FUNCTION>
	
		<EMPTY_FUNCTION name="drinkStuff" static="true" visibility="private">
			<PARAMETERS>
				<VARIABLE name="type" type="Int16" />
				<VARIABLE name="howMuch" type="Int16" const="true" passby="Reference" />
			</PARAMETERS>
			<RETURN_VARIABLE type="Int16" />
		</EMPTY_FUNCTION>
		
		<EMPTY_FUNCTION name="sleep" visibility="private">
		</EMPTY_FUNCTION>
	</FUNCTIONS>
	
</CLASS>
