//////////////////////////////////////////////////////////////////////////////
//
// ToolsAVP_Mode_Object.h
//
// Copyright (c) 2006 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 TOOLSAVP_MODE_OBJECT_H___
#define TOOLSAVP_MODE_OBJECT_H___ 1

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

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

// Tools.
#include "Objects/Tools_Mode_Object.h"

//////////////////////////////////////////////////////////////////////////////
//
// ToolsAVP_Mode_Object
//
//////////////////////////////////////////////////////////////////////////////

class ToolsAVP_Mode_Object : public Tools_Mode_Object
{
public:
    ToolsAVP_Mode_Object();

    virtual void BuildObjectCreationList();
    virtual void InitialiseMode();
	virtual void Update(void);
	virtual void RenderWorld_PostToneMap(void);
	virtual void AddItemsToObjectModeOverlay( class Asura_Overlay* pxNewOverlay, class Asura_Vector_2& xOffset );

private:
	virtual bool DoVerificationTests( const bool bAutomatic );

	virtual bool EntityReceivesActivateMessage( Asura_Guid uGuid ) const;

	static bool VerifyStaticMessages();
	static void UpdateWaypointLightingValues();
	static void ResetUserWaypointLightingValues();
	static bool PaintWPEnabled();

private:
	static void E3DodgyMessageCheck();

	float m_fCategoryChangedTimer;
	static int  s_iWPUnderCursor;
	static bool s_bShowWPLighting;
	static bool s_bPaintWPLighting;
	static float s_fHideWPLightValue;
	static float s_fMaxWPLightValue;

    typedef Tools_Mode_Object PARENT;
};

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

#endif // #ifndef TOOLSAVP_MODE_OBJECT_H___
