//////////////////////////////////////////////////////////////////////////////
//
// AVP_Behaviour_GS2Node_Marine_LookAt.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_BEHAVIOUR_GS2NODE_HUMAN_CORENODEWITHGUNFIRE_H__
#define __AVP_BEHAVIOUR_GS2NODE_HUMAN_CORENODEWITHGUNFIRE_H__ 1

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

// I N C L U D E S ///////////////////////////////////////////////////////////
// Axon
#include "Behaviour/BehaviourTypes/Axon_Behaviour_GS2Node.h"

// Avp Axon
#include "Core/BrainTypes/AVP_Brain_Actor_Marine.h"

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


//////////////////////////////////////////////////////////////////////////////
//
// AVP_Behaviour_GS2Node_Human_CoreNodeWithGunFire
//
//////////////////////////////////////////////////////////////////////////////

class AVP_Behaviour_GS2Node_Human_CoreNodeWithGunFire : public Axon_Behaviour_GS2Node
{
	typedef Axon_Behaviour_GS2Node PARENT;

public:
	
	AVP_Behaviour_GS2Node_Human_CoreNodeWithGunFire( AVP_Brain_Actor_Marine* pxBrain );


protected:

	virtual void ReadFromChunkStream( Asura_Chunk_Stream& xStream );
	virtual void WriteToChunkStream( Asura_Chunk_Stream& xStream ) const;
	virtual void PerFrameUpdate( const float fTimeslice );

// #ifndef ASURA_NO_DEBUG_OUTPUT
// 	virtual void RenderDebugInfo( void );
// #endif

private:

	enum { CURRENT_CHUNK_VERSION = 1 };

	AVP_Brain_Actor_Marine*	GetMarineBrain( void ) const;

#ifndef ASURA_NO_DEBUG_OUTPUT
	float					GetDbgOutputPosX() const		{ return GetMarineBrain()->GetDebugOutputPos().x; }
	float					GetDbgOutputPosY() const		{ return GetMarineBrain()->GetDebugOutputPos().y; }
#endif

	static const u_int uCURRENT_CHUNK_VERSION = 0;
};

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

#endif //__AVP_BEHAVIOUR_GS2NODE_HUMAN_CORENODEWITHGUNFIRE_H__
