//////////////////////////////////////////////////////////////////////////////
//
// Asura_ServerEntity_ServerCutscene.h
//
// Created by Mike Healey.
//
// Copyright (c) 2002 Rebellion. All rights reserved.
//
// Entity to control cutscenes that run on the server. 
//
//////////////////////////////////////////////////////////////////////////////

// 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 ___ASURA_SERVERENTITY_SERVERCUTSCENE_H___
#define ___ASURA_SERVERENTITY_SERVERCUTSCENE_H___ 1

#ifdef ASURA_SUPPORT_SERVERCUTSCENES	// the Gunfighter-style cutscenes with entities

#include "Entity/Asura_Entity.h"
#include "Core/Asura_String.h"

class Asura_ServerEntity_ServerCutscene : public Asura_Entity_Server
{
	public:

		Asura_ServerEntity_ServerCutscene(const Asura_String& cutsceneName,Asura_Guid guid = ASURA_GUID_UNREGISTERED);
		//constructor from load
		Asura_ServerEntity_ServerCutscene(Asura_Guid guid,const char*& chunkBuffer);
		virtual ~Asura_ServerEntity_ServerCutscene();

		// override of HasClientEntities() - we don't have any.
		virtual bool HasClientEntities() const { return false; }

		virtual bool HandleMessage(const Asura_Message* pxMessage);

	private:
		//virtual function overides for saving
		virtual bool CanBeSavedToChunk() const {return true;}
		int GetChunkBufferSize();
		void FillInChunkBuffer(char*& chunkBuffer);

		Asura_String CutsceneName;
};

#endif // #ifdef ASURA_SUPPORT_SERVERCUTSCENES	// the Gunfighter-style cutscenes with entities

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

#endif // #ifndef ___ASURA_SERVERENTITY_SERVERCUTSCENE_H___
