#ifdef ASURA_USE_AXON
//////////////////////////////////////////////////////////////////////////////
//
// Tools_Object_GamesceneSplinePoint.h
//
// Created by NJD - 16 October 2006
//
// 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 __TOOLS_OBJECT_GAMESCENESPLINEPOINT_H__
#define __TOOLS_OBJECT_GAMESCENESPLINEPOINT_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 "Entity/Locations/Spline/Tools_Object_NodeSplinePoint.h"

//////////////////////////////////////////////////////////////////////////////
//
// Tools_Object_GS2Point
//
//////////////////////////////////////////////////////////////////////////////

class Tools_Object_GS2Point : public Tools_Object_NodeSplinePoint
{
	typedef Tools_Object_NodeSplinePoint PARENT;

public:
	Tools_Object_GS2Point(class Asura_ServerNode_GS2Spline* pxParentNode,
		class Tools_EntityNode_GS2Spline* pxParentTools,
		int iIndex,
		bool bIsEndPoint);

	virtual void UpdatePositionInAsuraData(bool /*updateLinkedObjects*/);
	virtual void UpdatePositionFromAsuraData();
	virtual const char* GetTypeDescription(){return "Gamescene Spline Control Point";}
	virtual void OnSelection();
	virtual void OnDeselection();
	virtual void Render();
	virtual void Update();

private:
	class Asura_ServerNode_GS2Spline* m_pxGSParentNode;
	class Tools_EntityNode_GS2Spline* m_pxGSParentTools;
	static Tools_Object_GS2Point* s_pxThisGamesceneSplinePoint;
};

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

#endif //__TOOLS_OBJECT_GAMESCENESPLINEPOINT_H__
#endif // ASURA_USE_AXON
