//////////////////////////////////////////////////////////////////////////////
//
// AVP_ServerNode_GS2Spline.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 __AVP_SERVERNODE_GS2SPLINE_H__
#define __AVP_SERVERNODE_GS2SPLINE_H__ 1

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

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

// asura
#include "Entity/Locations/Spline/GamesceneSpline/Asura_ServerNode_GS2Spline.h"

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

class Asura_Chunk_Stream;

//////////////////////////////////////////////////////////////////////////////
//
// AVP_ServerNode_GS2Spline
//
//////////////////////////////////////////////////////////////////////////////

class AVP_ServerNode_GS2Spline : public Asura_ServerNode_GS2Spline
{
	typedef Asura_ServerNode_GS2Spline PARENT;

	friend class ToolsAVP_Node_GS2Spline;

public:
	AVP_ServerNode_GS2Spline( Asura_Guid uGuid );

	virtual void ReadFromChunkStream( Asura_Chunk_Stream& xStream );
	virtual void WriteToChunkStream( Asura_Chunk_Stream& xStream ) const;
	virtual bool IsBaseOrDerivativeOf( u_short usClassification ) const;

	bool ShouldIntegrateWithNavData() const { return m_bIntegrateWithNavData; }

	bool ShouldExitGamesceneOnKnowledge() const { return m_bLeaveGamesceneOnKnowledge; }

	static void Create( const Asura_Guid uGuid, Asura_Chunk_Stream& xStream );

#ifdef ASURA_TOOLS
	virtual bool CanBeIncludedInTemplate() const;
#endif

private:
	bool m_bIntegrateWithNavData;

	bool m_bLeaveGamesceneOnKnowledge;

	static const u_int uCURRENT_CHUNK_VERSION = 2;
};

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

#endif //__AVP_SERVERNODE_GS2SPLINE_H__
