//
// Tools_Entity_ClientVolumeTrigger_Object.h
//
// Created by Richard Rice - 24/11/2004
// 
// Copyright (C) 2004 Rebellion, All Rights Reserved.
//

#ifdef ASURA_USE_PRAGMA_ONCE
    #pragma once
#endif

#ifndef __TOOLS_ENTITY_CLIENTVOLUMETRIGGER_OBJECT_H__
#define __TOOLS_ENTITY_CLIENTVOLUMETRIGGER_OBJECT_H__

#include "Entity/Tools_Entity_AdvancedVolumeTrigger.h"


class Tools_Entity_ClientVolumeTrigger_Object : public Tools_Entity_AdvancedVolumeTrigger
{
	public :
		Tools_Entity_ClientVolumeTrigger_Object(Asura_Entity* pxEntity);

		static void Create();
		static Tools_Entity_ClientVolumeTrigger_Object* Create(bool bGenerateName);

		//virtual function overides
		const char* GetTypeDescription(){return "Client Volume Trigger";}

		static const char* GetNamePrefix() { return "CVT_"; }
		virtual const char* GetMyNamePrefix() const { return Tools_Entity_ClientVolumeTrigger_Object::GetNamePrefix(); }

		bool IsClientSideTrigger(){return true;}
		
		//No reason as such why these message blocks can't be used , but
		//since I don't think they will be useful , i'm removing them to
		//reduce clutter on the overlay.
		bool UsesActivationMessage(){return false;}
		bool UsesDeactivationMessage(){return false;}
		bool UsesDestructionMessage(){return false;}

		virtual void Copy(const Tools_Object*);
		virtual bool CanBeCopied() const {return Type == TOT_Entity_ClientVolumeTrigger;}
		virtual Tools_Object* CreateObjectOfThisType() const;
};


#endif //__TOOLS_ENTITY_CLIENTVOLUMETRIGGER_OBJECT_H__
