//
// Tools_Entity_MusicTrigger_Object.h
//
// Created by Richard Rice - 18/03/2003
// 
// Copyright (C) 2003 Rebellion, All Rights Reserved.
//


#ifdef ASURA_USE_PRAGMA_ONCE
    #pragma once
#endif

#ifndef _TOOLS_ENTITY_MUSICTRIGGER_OBJECT_H_
#define _TOOLS_ENTITY_MUSICTRIGGER_OBJECT_H_

#ifndef ASURA_SUPPORT_DYNAMIC_MUSIC_SYSTEM

#include "Entity/Tools_Entity_Activatable_Object.h"


class Tools_Entity_MusicTrigger_Object : public Tools_Entity_Activatable_Object
{
	public :
		Tools_Entity_MusicTrigger_Object(Asura_Entity* pxEntity);
		static void Create();
		static Tools_Entity_MusicTrigger_Object* Create(bool bGenerateName);
		
		//virtual function overides
		const char* GetTypeDescription(){return "Music Trigger";}

		static const char* GetNamePrefix() { return "MT_"; }
		virtual const char* GetMyNamePrefix() const { return Tools_Entity_MusicTrigger_Object::GetNamePrefix(); }

		void AddOverlayControls(class Asura_Overlay* newOverlay,class Asura_Vector_2& offset);

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


	protected :
		static void SelectMusicTrack(int iThis){((Tools_Entity_MusicTrigger_Object*)iThis)->SelectMusicTrack();}
		void SelectMusicTrack();

};

#endif // #ifndef ASURA_SUPPORT_DYNAMIC_MUSIC_SYSTEM

#endif //_TOOLS_ENTITY_MUSICTRIGGER_OBJECT_H_

//eof
