The-Simpsons-Hit-and-Run/game/code/pedpaths/path.h

91 lines
1.5 KiB
C++

//=============================================================================
// Copyright (C) 2002 Radical Entertainment Ltd. All rights reserved.
//
// File: path.h
//
// Description: Defines Path class
//
// History: 09/18/2002 + Created -- Dusit Eakkachaichanvet
//
//=============================================================================
#ifndef PATH_H
#define PATH_H
//#include <pedpaths/pathsegment.h>
#include <roads/geometry.h>
class PathSegment;
class Pedestrian;
class Path
{
//MEMBERS
public:
enum
{
MAX_PEDESTRIANS = 3 // number of peds to allow on a single path
};
//METHODS
public:
Path();
Path( bool isClosed, int nSegments );
~Path();
PathSegment* GetPathSegmentByIndex( int index );
void AllocateSegments( int nSegments );
//ACCESSORS
bool IsFull() const;
bool IsClosed() const;
void SetIsClosed( bool isClosed );
int GetNumPathSegments() const;
bool AddPedestrian();
bool RemovePedestrian();
//MEMBERS
private:
bool mIsClosed;
int mNumPathSegments;
int mNumPeds;
// pointer to dynamically allocated PathSegment array
PathSegment** mPathSegments;
//METHODS:
private:
};
// ********************************* INLINES *******************************
inline bool Path::IsClosed() const
{
return mIsClosed;
}
inline void Path::SetIsClosed( bool isClosed )
{
mIsClosed = isClosed;
}
inline int Path::GetNumPathSegments() const
{
return mNumPathSegments;
}
#endif //PATH_H