Welcome to the Network Defense Scripting API

//========================================================
	Table of Contents:
//========================================================
I.		Global Functions
II.		Script Classes
III.		Script Interfaces


//========================================================
I.	Global Functions:
//========================================================

print Functions:
----------------
>> These functions provide a way to print information to the terminal.
> If you are not running the debug executable, then the contents of the
> terminal will be dumped to a log file: log.txt in the same directory
> as the executable.

	void print( const string@ );
	void print( const char@ );

	void print( const int8@ );
	void print( const int16@ );
	void print( const int32@ );

	void print( const uint8@ );
	void print( const uint16@ );
	void print( const uint32@ );

	void print( const float@ );
	void print( const double@ );


getInput:
---------
>> This function allows you to grab a single character of
> input from the terminal.
> NOTE: You must be running the Debug executable to use this
> properly! And it should never be included in a Script you
> intend to release to others!

	char getInput();


Math Functions:
---------------
>> Most of the basic math functions you should need are provided
> for you.

	float cos(float rad);
	float sin(float rad);
	float tan(float rad);
	float acos(float val);
	float asin(float val);
	float atan(float val);
	float cosh(float rad);
	float sinh(float rad);
	float tanh(float rad);
	float log(float val);
	float log10(float val);
	float pow(float val, float exp);
	float sqrt(float val);
	float ceil(float val);
	float abs(float val);
	float floor(float val);
	float fraction(float val);


//========================================================
II.	Script Classes:
//========================================================

How to read this section:

--------
Classes:
--------
Classes indicate their inheritence using ':'
There fore the class A:
class A : B

A is guaranteed to have all of the methods and members of Class B.

------
Types:
------
Value- Script Classes may declare varriables of these types and
hold onto them as they wish

Refrence- Script Classes may hold Object Handles to Classes of
this type

No Instance- Script Classes may not ever create their own instances
of Classes of this type

-------
Groups:
-------
Common - Classes that may be used in both the Common Turret
			scripts as well as the Client Turret scripts
			
Client - Classes that may only be used in the Client Turret
			scripts

//=====================================
		class Clock
//=====================================
>> This class is used to time things.

-----------
Type: Value
-----------

-------------
Group: Common
-------------

-------------
Constructors:
-------------
	Clock();

--------
Methods:
--------
	float getElapsedTime();
		
		Function: Query the Clock as to how long it has been since it was last reset
	
		Arguments: N/A
	
		Returns: time in seconds since the last time the Clock was reset

	void reset();
	
		Function: Reset the Clock to 0
		
		Arguments: N/A
		
		Returns: N/A
		
		
//=====================================
		class Vector2d
//=====================================
>> This class is to store and manipulate
> and ordered pair of coordinates

-----------
Type: Value
-----------

-------------
Group: Common
-------------

-------------
Constructors:
-------------
	Vector2d();

	
-----------
Properties:
-----------
	float x;
	
		The x coordinate of the ordered pair
		
	float y;
		
		The y coordinate of the ordered pair
	
--------
Methods:
--------
	float length() const;
		
		Function: Compute the length of the vector
	
		Arguments: N/A
	
		Returns: the length (magnitude) of the vector

	Vector2d normalize() const;
	
		Function: Compute a normalized version of the vector
		
		Arguments: N/A
		
		Returns: the normalized version of the vector
		
	float distanceTo( const Vector2d v ) const;
	
		Function: Treating both vectors as points in 2d space,
					compute the magnitude of the distance between
					the two
		
		Arguments: The other vector to measure the distance to
		
		Returns: the distance between the two vectors
		
	float dot( const Vector2d v ) const;
	
		Function: Compute the dot product between the two vectors.
					The dot product is a scalar and it represents the
					angle between the two vectors
		
		Arguments: The other vector
		
		Returns: the dot product of the two vectors

//=====================================
		class World
//=====================================
>> This is the main class that stores everything about
> the game world.

----------------------------
Type: Refrence | No Instance
----------------------------

-------------
Group: Common
-------------

-------------
Constructors:
-------------
	N/A
	
--------
Methods:
--------
	bool creepExists( uint32 ) const;
	
		Function: Query by "World Id" wheather or not a creep currently exists
		
		Arguments: unsigned int - creep world Id
		
		Returns: bool - true: creep does exists, false: creep does not exist
		
	Creep@ getCreepById( uint32 id );
	
		Function: Get a creep by id
		
		Arguments: unsigned int - creep Id
		
		Returns: Creep@ - null: No creep existed with that id
		
	void killCreep( Turret@ t, Creep@ c );
	
		Function: Should be called when ever a Turret brings a creeps health to zero or below.
					It ensures that players are rewarded for their kill.
		
		Arguments: Turret@ t - the turret doing the killing
					Creep@ c - the creep being killed
		
		Returns: N/A
		
	Creep@ getOptimalCreep( const Turret@ t );
	
		Function: Will return what NetworkDefense considers the "Optimal target"
					for the given turret. Optimal here is considered to be the
					creep who is closest to the end of their path and is with in
					the Turret's range.
		
		Arguments: const Turret@ t - the turret looking for a target
		
		Returns: Creep@ - null: no optimal creep found
		
//=====================================
		class WorldClient : World
//=====================================
>> The Client's view of the world with extra graphics
> related data.

----------------------------
Type: Refrence | No Instance
----------------------------

-------------
Group: Client
-------------

-------------
Constructors:
-------------
	N/A

--------
Methods:
--------
	bool creepExists( uint32 ) const;
	
		Function: Query by "World Id" wheather or not a creep currently exists
		
		Arguments: unsigned int - creep world Id
		
		Returns: bool - true: creep does exists, false: creep does not exist
		
	Creep@ getCreepById( uint32 id );
	
		Function: Get a creep by id
		
		Arguments: unsigned int - creep Id
		
		Returns: Creep@ - null: No creep existed with that id
		
	void killCreep( Turret@ t, Creep@ c );
	
		Function: Should be called when ever a Turret brings a creeps health to zero or below.
					It ensures that players are rewarded for their kill.
		
		Arguments: Turret@ t - the turret doing the killing
					Creep@ c - the creep being killed
		
		Returns: N/A
		
	Creep@ getOptimalCreep( const Turret@ t );
	
		Function: Will return what NetworkDefense considers the "Optimal target"
					for the given turret. Optimal here is considered to be the
					creep who is closest to the end of their path and is with in
					the Turret's range.
		
		Arguments: const Turret@ t - the turret looking for a target
		
		Returns: Creep@ - null: no optimal creep found
		
	uint32 addOverlay( Overlay@ );
	
		Function: Attach an overlay graphic to the world
		
		Arguments: Handle to the overlay to be attached
		
		Returns: unsigned int - World Id assigned to the overlay by the World

		
//=====================================
		class Creep
//=====================================
>> The class that represents all Creeps.

----------------------------
Type: Refrence | No Instance
----------------------------

-------------
Group: Common
-------------

-------------
Constructors:
-------------
	N/A

--------
Methods:
--------
	uint32 id() const;

		Function: Get the Id assigned to the creep when it was
					added to the World
					
		Arguments: N/A
		
		Returns: unsigned int - a positive, none zero number, means
					this creep has been successfully added to the
					world
					
	int16 health() const;

		Function: Get the current health of the creep
					
		Arguments: N/A
		
		Returns: unsigned int16 - the creeps health
		
	void health( int16 );

		Function: Set the health of the creep
					
		Arguments: int16 - the new health to assign to the creep
		
		Returns: N/A
		
	float speed() const;

		Function: Get the current speed of the creep
					
		Arguments: N/A
		
		Returns: float - the creeps speed
		
	void speed( float );

		Function: Set the speed of the creep
					
		Arguments: float - the new speed to assign to the creep
		
		Returns: N/A
		
	int8 reward() const;

		Function: Get the current reward given to a player for killing this creep
					
		Arguments: N/A
		
		Returns: int8 - the creeps reward
		
	void reward( int8 );

		Function: Set the reward given to a player for killing this creep
					
		Arguments: int8 - the new reward to assign to the creep
		
		Returns: N/A
		
	float x() const;

		Function: Get the x coordinate of the position in the world
					
		Arguments: N/A
		
		Returns: float - the x coordinate
		
	float y() const;

		Function: Get the y coordinate of the position in the world
					
		Arguments: N/A
		
		Returns: float - the y coordinate
		
	void position( float x, float y );

		Function: Set the x and y coordinates for this creep
					
		Arguments:	float - the new y coordinate
					float - the new x coordinate
		
		Returns: N/A
		
	void position( const Vector2d );

		Function: Set the position coordinates
					
		Arguments:	Vector2d - the new position
		
		Returns: N/A

	Vector2d position();

		Function: Get the position coordinates
					
		Arguments: N/A
		
		Returns: Vector2d - the object's position
		
	float description_health() const;

		Function: Get the description value for this creeps health
					
		Arguments: N/A
		
		Returns: float - the original starting health for creeps of this type
		
	float description_speed() const;

		Function: Get the description value for this creeps speed
					
		Arguments: N/A
		
		Returns: float - the original starting speed for creeps of this type
		
	float description_reward() const;

		Function: Get the description value for this creeps reward
					
		Arguments: N/A
		
		Returns: float - the original starting reward for creeps of this type

//=====================================
		class CreepClient : Creep
//=====================================
>> The class that represents all Creeps on the Client.

----------------------------
Type: Refrence | No Instance
----------------------------

-------------
Group: Client
-------------

-------------
Constructors:
-------------
	N/A

--------
Methods:
--------
	void addOverlay( Overlay@ overlay );

		Function: Add a graphical overlay to the Creep
					
		Arguments: Overlay@ - Object Handle to the Overlay to be added
		
		Returns: N/A

	bool removeOverlay( Overlay@ overlay );

		Function: Remove a graphical overlay
					
		Arguments: Overlay@ - Object Handle to the Overlay to be removed
		
		Returns: bool - true: The overlay was found and removed
				false: The overlay was not found


	uint32 id() const;

		Function: Get the Id assigned to the creep when it was
					added to the World
					
		Arguments: N/A
		
		Returns: unsigned int - a positive, none zero number, means
					this creep has been successfully added to the
					world
					
	int16 health() const;

		Function: Get the current health of the creep
					
		Arguments: N/A
		
		Returns: unsigned int16 - the creeps health
		
	void health( int16 );

		Function: Set the health of the creep
					
		Arguments: int16 - the new health to assign to the creep
		
		Returns: N/A
		
	float speed() const;

		Function: Get the current speed of the creep
					
		Arguments: N/A
		
		Returns: float - the creeps speed
		
	void speed( float );

		Function: Set the speed of the creep
					
		Arguments: float - the new speed to assign to the creep
		
		Returns: N/A
		
	int8 reward() const;

		Function: Get the current reward given to a player for killing this creep
					
		Arguments: N/A
		
		Returns: int8 - the creeps reward
		
	void reward( int8 );

		Function: Set the reward given to a player for killing this creep
					
		Arguments: int8 - the new reward to assign to the creep
		
		Returns: N/A
		
	float x() const;

		Function: Get the x coordinate for this creep
					
		Arguments: N/A
		
		Returns: float - the creeps x coordinate
		
	float y() const;

		Function: Get the y coordinate for this creep
					
		Arguments: N/A
		
		Returns: float - the creeps y coordinate
		
	void position( float x, float y );

		Function: Set the x and y coordinates for this creep
					
		Arguments:	float - the new y coordinate
					float - the new x coordinate
		
		Returns: N/A

	void position( const Vector2d );

		Function: Set the position coordinates
					
		Arguments:	Vector2d - the new position
		
		Returns: N/A

	Vector2d position();

		Function: Get the position coordinates
					
		Arguments: N/A
		
		Returns: Vector2d - the object's position
		
	float description_health() const;

		Function: Get the description value for this creeps health
					
		Arguments: N/A
		
		Returns: float - the original starting health for creeps of this type
		
	float description_speed() const;

		Function: Get the description value for this creeps speed
					
		Arguments: N/A
		
		Returns: float - the original starting speed for creeps of this type
		
	float description_reward() const;

		Function: Get the description value for this creeps reward
					
		Arguments: N/A
		
		Returns: float - the original starting reward for creeps of this type


//=====================================
		class Turret
//=====================================
>> The class that represents all Turrets.

----------------------------
Type: Refrence | No Instance
----------------------------

-------------
Group: Common
-------------

-------------
Constructors:
-------------
	N/A

--------
Methods:
--------	
	uint32 id() const;

		Function: Get the Id assigned to the turret when it was
					added to the World
					
		Arguments: N/A
		
		Returns: unsigned int - a positive, none zero number, means
					this turret has been successfully added to the
					world
					
	float interval() const;

		Function: Get the interval at which this turret fires
					
		Arguments: N/A
		
		Returns: float - the turrets interval

		
	void interval( float );

		Function: Set the interval at which this turret fires
					
		Arguments: float - the turrets new interval
		
		Returns: N/A
		
	bool readyToFire() const;

		Function: Query the turret to see if it is ready to fire again
					
		Arguments: N/A
		
		Returns: N/A

	float range() const;

		Function: Get the range of this turret
					
		Arguments: N/A
		
		Returns: float - the turrets range
		
	void range( float );

		Function: Set the range of this turret
					
		Arguments: float - the turrets new range
		
		Returns: N/A
		
	float x() const;

		Function: Get the x coordinate for this turret
					
		Arguments: N/A
		
		Returns: float - the turrets x coordinate
		
	float y() const;

		Function: Get the y coordinate for this turret
					
		Arguments: N/A
		
		Returns: float - the turrets y coordinate
		
	void position( float x, float y );

		Function: Set the x and y coordinates for this turret
					
		Arguments:	float - the new y coordinate
					float - the new x coordinate
		
		Returns: N/A

	void position( const Vector2d );

		Function: Set the position coordinates
					
		Arguments:	Vector2d - the new position
		
		Returns: N/A

	Vector2d position();

		Function: Get the position coordinates
					
		Arguments: N/A
		
		Returns: Vector2d - the object's position

	float description_range() const;

		Function: Get the description value for this turrets range
					
		Arguments: N/A
		
		Returns: float - the original starting range for turrets of this type
		
	float description_interval() const;

		Function: Get the description value for this turrets interval
					
		Arguments: N/A
		
		Returns: float - the original starting interval for turret of this type
		
//=====================================
		class TurretClient : Turret
//=====================================
>> The class that represents all Turrets on the Client.

----------------------------
Type: Refrence | No Instance
----------------------------

-------------
Group: Client
-------------

-------------
Constructors:
-------------
	N/A

--------
Methods:
--------
	void addOverlay( Overlay@ overlay );

		Function: Add a graphical overlay to the Turret

		Arguments: Overlay@ - Object Handle to the Overlay to be added

		Returns: N/A

	bool removeOverlay( Overlay@ overlay );

		Function: Remove a graphical overlay
					
		Arguments: Overlay@ - Object Handle to the Overlay to be removed
		
		Returns: bool - true: The overlay was found and removed
				false: The overlay was not found

	int32 numOverlays();

		Function: Get the number of overlays currently attached
					
		Arguments: N/A
		
		Returns: The number of overlays

	uint32 id() const;

		Function: Get the Id assigned to the turret when it was
					added to the World

		Arguments: N/A
		
		Returns: unsigned int - a positive, none zero number, means
					this turret has been successfully added to the
					world
					
	uint16 level() const;

		Function: Get the current level of the turret

		Arguments: N/A
		
		Returns: unsigned int - a positive number representing the
					level that the turret has been upgraded to.
					Zero means the turret has not been upgraded at
					all.
					
	float interval() const;

		Function: Get the interval at which this turret fires
					
		Arguments: N/A
		
		Returns: float - the turrets interval
		
	void interval( float );

		Function: Set the interval at which this turret fires
					
		Arguments: float - the turrets new interval
		
		Returns: N/A
		
	bool readyToFire() const;

		Function: Query the turret to see if it is ready to fire again
					
		Arguments: N/A
		
		Returns: N/A

	float range() const;

		Function: Get the range of this turret
					
		Arguments: N/A
		
		Returns: float - the turrets range
		
	void range( float );

		Function: Set the range of this turret
					
		Arguments: float - the turrets new range
		
		Returns: N/A
		
	float x() const;

		Function: Get the x coordinate for this turret
					
		Arguments: N/A
		
		Returns: float - the turrets x coordinate
		
	float y() const;

		Function: Get the y coordinate for this turret
					
		Arguments: N/A
		
		Returns: float - the turrets y coordinate
		
	void position( float x, float y );

		Function: Set the x and y coordinates for this turret
					
		Arguments:	float - the new y coordinate
					float - the new x coordinate
		
		Returns: N/A
		
	void position( const Vector2d );

		Function: Set the position coordinates
					
		Arguments:	Vector2d - the new position
		
		Returns: N/A

	Vector2d position();

		Function: Get the position coordinates
					
		Arguments: N/A
		
		Returns: Vector2d - the object's position
		
//=====================================
		class Overlay
//=====================================
>> The class that represents all Graphical overlays.

----------------------------
Type: Refrence | No Instance
----------------------------

-------------
Group: Client
-------------

-------------
Constructors:
-------------
	N/A

--------
Methods:
--------
	void addOverlay( Overlay@ overlay );

		Function: Add a graphical overlay

		Arguments: Overlay@ - Object Handle to the Overlay to be added

		Returns: N/A

	bool removeOverlay( Overlay@ overlay );

		Function: Remove a graphical overlay
					
		Arguments: Overlay@ - Object Handle to the Overlay to be removed
		
		Returns: bool - true: The overlay was found and removed
				false: The overlay was not found

	float x() const;

		Function: Get the x coordinate of the position in the world
					
		Arguments: N/A
		
		Returns: float - the x coordinate
		
	float y() const;

		Function: Get the y coordinate of the position in the world
					
		Arguments: N/A
		
		Returns: float - the y coordinate

	void position( float x, float y );

		Function: Set the x and y coordinates for this overlay
					
		Arguments:	float - the new y coordinate
					float - the new x coordinate
		
		Returns: N/A
		
	void position( const Vector2d );

		Function: Set the position coordinates
					
		Arguments:	Vector2d - the new position
		
		Returns: N/A

	Vector2d position();

		Function: Get the position coordinates
					
		Arguments: N/A
		
		Returns: Vector2d - the object's position
		
	float rotation() const;

		Function: Get the rotation of this overlay
					
		Arguments: N/A
		
		Returns: float - the overlays rotation
		
	void rotation( float );

		Function: Set the rotation of this overlay
					
		Arguments: float - the overlays new rotation
		
		Returns: N/A

	
//=====================================
		class OverlayExplosion : Overlay
//=====================================
>> An explosion overlay that randomly rotates
> it's self to look less static.

--------------
Type: Refrence
--------------

-------------
Group: Client
-------------

-------------
Constructors:
-------------
	OverlayExplosion( float delay );
	
		Arguments:	float - how long to display before being discarded
	
	OverlayExplosion( float delay, string explosionPath );

		Arguments:	float - how long to display before being discarded
					string - file path to the image to use as the explosion

--------
Methods:
--------
	void addOverlay( Overlay@ overlay );

		Function: Add a graphical overlay

		Arguments: Overlay@ - Object Handle to the Overlay to be added

		Returns: N/A

	bool removeOverlay( Overlay@ overlay );

		Function: Remove a graphical overlay
					
		Arguments: Overlay@ - Object Handle to the Overlay to be removed
		
		Returns: bool - true: The overlay was found and removed
				false: The overlay was not found

	float x() const;

		Function: Get the x coordinate of the position in the world
					
		Arguments: N/A
		
		Returns: float - the x coordinate
		
	float y() const;

		Function: Get the y coordinate of the position in the world
					
		Arguments: N/A
		
		Returns: float - the y coordinate
		
	void position( float x, float y );

		Function: Set the x and y coordinates for this overlay
					
		Arguments:	float - the new y coordinate
					float - the new x coordinate
		
		Returns: N/A
		
	void position( const Vector2d );

		Function: Set the position coordinates
					
		Arguments:	Vector2d - the new position
		
		Returns: N/A

	Vector2d position();

		Function: Get the position coordinates
					
		Arguments: N/A
		
		Returns: Vector2d - the object's position
		
	float rotation() const;

		Function: Get the rotation of this overlay
					
		Arguments: N/A
		
		Returns: float - the overlays rotation
		
	void rotation( float );

		Function: Set the rotation of this overlay
					
		Arguments: float - the overlays new rotation
		
		Returns: N/A
		
//=====================================
		class OverlaySprite : Overlay
//=====================================
>> An generic overlay that displays any
> given images.

--------------
Type: Refrence
--------------

-------------
Group: Client
-------------

-------------
Constructors:
-------------
	OverlaySprite( string imagePath );
	
		Arguments:	string - file path to the image to display

--------
Methods:
--------
	void addOverlay( Overlay@ overlay );

		Function: Add a graphical overlay

		Arguments: Overlay@ - Object Handle to the Overlay to be added

		Returns: N/A

	bool removeOverlay( Overlay@ overlay );

		Function: Remove a graphical overlay
					
		Arguments: Overlay@ - Object Handle to the Overlay to be removed
		
		Returns: bool - true: The overlay was found and removed
				false: The overlay was not found

	float x() const;

		Function: Get the x coordinate of the position in the world
					
		Arguments: N/A
		
		Returns: float - the x coordinate
		
	float y() const;

		Function: Get the y coordinate of the position in the world
					
		Arguments: N/A
		
		Returns: float - the y coordinate
		
	void position( float x, float y );

		Function: Set the x and y coordinates for this overlay
					
		Arguments:	float - the new y coordinate
					float - the new x coordinate
		
		Returns: N/A
		
	void position( const Vector2d );

		Function: Set the position coordinates
					
		Arguments:	Vector2d - the new position
		
		Returns: N/A

	Vector2d position();

		Function: Get the position coordinates
					
		Arguments: N/A
		
		Returns: Vector2d - the object's position
		
	float rotation() const;

		Function: Get the rotation of this overlay
					
		Arguments: N/A
		
		Returns: float - the overlays rotation
		
	void rotation( float );

		Function: Set the rotation of this overlay
					
		Arguments: float - the overlays new rotation
		
		Returns: N/A
		
		
//=====================================
		class OverlayAnimatedSprite : Overlay
//=====================================
>> An generic overlay that displays any
> given images.

--------------
Type: Refrence
--------------

-------------
Group: Client
-------------

-------------
Constructors:
-------------
	OverlayAnimatedSprite();
	
		Arguments: N/A

--------
Methods:
--------
	void addOverlay( Overlay@ overlay );

		Function: Add a graphical overlay

		Arguments: Overlay@ - Object Handle to the Overlay to be added

		Returns: N/A

	bool removeOverlay( Overlay@ overlay );

		Function: Remove a graphical overlay
					
		Arguments: Overlay@ - Object Handle to the Overlay to be removed
		
		Returns: bool - true: The overlay was found and removed
				false: The overlay was not found

	void setIdleImage( string path );

		Function: Set the image that will be displayed while not animating
					
		Arguments:	string - The file path to the image
		
		Returns: N/A
		
	void addNextImage( string path, float delay );

		Function: Add an image to the animation sequence, they
					should be added in the order you wish them
					to display
					
		Arguments:	string - The file path to the image
					delay - how long to display this frame
								before moving to the next
		
		Returns: N/A

	bool loop() const;

		Function: Query if the animation is looping
					
		Arguments: N/A
		
		Returns: bool - true: The animation is looping
						false: The animation is not looping
						
	void loop( bool );

		Function: Set wheather the animation should loop or not
					
		Arguments: bool - true: The animation should loop
							false: The animation should not loop
		
		Returns: N/A
		
	bool isIdle() const;

		Function: Query if the animation is idle (not animating)
					
		Arguments: N/A
		
		Returns: bool - true: The animation is idle
						false: The animation is animating
						
	void startAnimation();

		Function: Start the animation animating from the first
					frame, no mater what state it is in
					
		Arguments: N/A
		
		Returns: N/A
		
	void rotation( float );

		Function: Set the rotation of this overlay
					
		Arguments: float - the overlays new rotation
		
		Returns: N/A
		
	float x() const;

		Function: Get the x coordinate of the position in the world
					
		Arguments: N/A
		
		Returns: float - the x coordinate
		
	float y() const;

		Function: Get the y coordinate of the position in the world
					
		Arguments: N/A
		
		Returns: float - the y coordinate
		
	void position( float x, float y );

		Function: Set the x and y coordinates for this overlay
					
		Arguments:	float - the new y coordinate
					float - the new x coordinate
		
		Returns: N/A
		
	void position( const Vector2d );

		Function: Set the position coordinates
					
		Arguments:	Vector2d - the new position
		
		Returns: N/A

	Vector2d position();

		Function: Get the position coordinates
					
		Arguments: N/A
		
		Returns: Vector2d - the object's position
		
	float rotation() const;

		Function: Get the rotation of this overlay
					
		Arguments: N/A
		
		Returns: float - the overlays rotation
		
	void rotation( float );

		Function: Set the rotation of this overlay
					
		Arguments: float - the overlays new rotation
		
		Returns: N/A


//========================================================
II.	Script Interfaces:
//========================================================

//=====================================
		interface ITurret
//=====================================
>> The interface that all "Common" Turret Classes
> MUST inherit from.

-------------
Group: Common
-------------

--------
Methods:
--------
	void tick();

		Function: Called by the application, once per frame.
					It should be used to do any continous
					processing and logic that a turret may
					need to do.
					
		Arguments: N/A
		
		Returns: N/A

	void fire( Creep@ c );

		Function: Called by the application, when a turret is
					ready to fire, and there is a creep in range.
					
		Arguments: Creep@ - The creep to fire upon
		
		Returns: N/A
		
	void upgrade();

		Function: Called by the application, when a turret is
					upgraded.
					
		Arguments: N/A
		
		Returns: N/A
	
	void setWorld( World@ w );

		Function: Called by the application, when the turret
					is added to the world, giving the turret
					an object handle to the world it now resides.
					
		Arguments: N/A
		
		Returns: N/A