//////////////////////////////////////////////////////////////////////////////
//
// ToolsAVP_Node_VantagePoint_Predator.h
//
// Copyright (C) 2008 Rebellion. All Rights Reserved.
//
//////////////////////////////////////////////////////////////////////////////

// B E G I N   F I L E   W R A P P E R ///////////////////////////////////////

#ifdef ASURA_USE_PRAGMA_ONCE
#pragma once
#endif

#ifndef __TOOLSAVP_NODE_VANTAGEPOINT_PREDATOR_H__
#define __TOOLSAVP_NODE_VANTAGEPOINT_PREDATOR_H__ 1

// E N D   F I L E   W R A P P E R ///////////////////////////////////////////

// I N C L U D E S ///////////////////////////////////////////////////////////

// tools avp
#include "Entity/Locations/VantagePoint/ToolsAVP_Node_VantagePoint.h"
#include "Objects/ToolsAVP_Object_Type.h"

// F O R W A R D   D E C L A R A T I O N S ///////////////////////////////////

class AVP_ServerNode_VantagePoint_Predator;

//////////////////////////////////////////////////////////////////////////////
//
// ToolsAVP_Node_VantagePoint_Predator
//
//////////////////////////////////////////////////////////////////////////////

class ToolsAVP_Node_VantagePoint_Predator : public ToolsAVP_Node_VantagePoint
{
	typedef ToolsAVP_Node_VantagePoint PARENT;

public:
	ToolsAVP_Node_VantagePoint_Predator( Asura_Entity* pxEntity );

	const char*			  GetTypeDescription() { return "Predator Vantage Point"; }
	virtual bool		  IsBaseOrDerivativeOf( int iToolsObjectType ) const;
	virtual bool          CanBeCopied() const { return Type == TOT_Entity_VantagePoint_Predator; }
	virtual Tools_Object* CreateObjectOfThisType() const;

	static void Create();

protected:
	AVP_ServerNode_VantagePoint_Predator* GetGameVantagePoint() const;

private:
	static ToolsAVP_Node_VantagePoint_Predator* CreateAndReturn();
};

//////////////////////////////////////////////////////////////////////////////
//
// 
//
//////////////////////////////////////////////////////////////////////////////

#endif //__TOOLSAVP_NODE_VANTAGEPOINT_PREDATOR_H__
