00001 00011 #ifndef __PathFinderCell_H__ 00012 #define __PathFinderCell_H__ 00013 00014 // Includes 00015 00016 // Forward declares 00017 class PathFinderAgent; 00018 00019 // PathFinderCell 00020 class PathFinderCell 00021 { 00022 public: 00027 virtual float CalculateCost( 00028 const PathFinderAgent* agent, 00029 const PathFinderCell* to 00030 ) const = 0; 00031 00037 virtual float EstimateCost( 00038 const PathFinderAgent* agent, 00039 const PathFinderCell* to 00040 ) const = 0; 00041 00046 virtual int GetNeighbourCount( 00047 const PathFinderAgent* agent 00048 ) const = 0; 00049 00054 virtual const PathFinderCell* GetNeighbour( 00055 const PathFinderAgent* agent, 00056 int index 00057 ) const = 0; 00058 00059 }; 00060 00061 #endif // __PathFinderCell_H__