#ifndef CWAYPOINTEXTRA_H #define CWAYPOINTEXTRA_H #include "CScriptExtra.h" #include "CSplinePathExtra.h" #include class CWaypointExtra : public CScriptExtra { // Draw waypoint paths formed by script connections CColor mColor; bool mLinksBuilt; std::list mPaths; struct SWaypointLink { CScriptNode *pWaypoint; CAABox LineAABB; }; std::vector mLinks; public: explicit CWaypointExtra(CScriptObject *pInstance, CScene *pScene, CSceneNode *pParent = 0); ~CWaypointExtra(); void CheckColor(); void AddToSplinePath(CSplinePathExtra *pPath); void RemoveFromSplinePath(CSplinePathExtra *pPath); void BuildLinks(); bool IsPathLink(CLink *pLink); void GetLinkedWaypoints(std::list& rOut); void LinksModified(); void AddToRenderer(CRenderer *pRenderer, const SViewInfo& ViewInfo); void Draw(FRenderOptions Options, int ComponentIndex, const SViewInfo& ViewInfo); CColor TevColor(); }; #endif // CWAYPOINTEXTRA_H