#ifndef CSPLINEPATHEXTRA_H #define CSPLINEPATHEXTRA_H #include "CScriptExtra.h" #include #include #include class CWaypointExtra; class CSplinePathExtra : public CScriptExtra { // Recolor waypoint paths to match the editor color parameter TColorProperty *mpPathColor; std::list mWaypoints; public: explicit CSplinePathExtra(CScriptObject *pInstance, CScene *pScene, CScriptNode *pParent = 0); ~CSplinePathExtra() { ClearWaypoints(); } inline CColor PathColor() const { return (mpPathColor ? mpPathColor->Get() : CColor::skBlack); } void PostLoad(); void PropertyModified(IProperty *pProperty); void FindAttachedWaypoints(std::set& rChecked, CWaypointExtra *pWaypoint); void AddWaypoints(); void RemoveWaypoint(CWaypointExtra *pWaypoint); void ClearWaypoints(); }; #endif // CSPLINEPATHEXTRA_H