SBSPSS/source/enemy/npcpath.h
Charles b2d3ef1445
2001-01-19 21:46:30 +00:00

57 lines
No EOL
1 KiB
C++

/*=========================================================================
npcpath.h
Author: CRB
Created:
Project: Spongebob
Purpose:
Copyright (c) 2000 Climax Development Ltd
===========================================================================*/
#ifndef __ENEMY_NPCPATH_H__
#define __ENEMY_NPCPATH_H__
#include "system\global.h"
class CNpcWaypoint
{
public:
DVECTOR pos;
bool isPointNear( DVECTOR testPos, s32 *xDist, s32 *yDist );
};
enum NPC_PATH_TYPE
{
SINGLE_USE_PATH = 0,
REPEATING_PATH = 1,
PONG_PATH = 2,
};
class CNpcPath
{
enum
{
NPC_MAX_WAYPOINTS = 4,
};
private:
CNpcWaypoint waypoint[NPC_MAX_WAYPOINTS];
NPC_PATH_TYPE pathType;
u8 currentWaypoint;
u8 waypointCount;
bool reversePath;
public:
void initPath();
void addWaypoint( DVECTOR newPos );
void setPathType( NPC_PATH_TYPE newPathType );
bool incPath();
s32 think( DVECTOR currentPos, bool *pathComplete );
bool getDistToNextWaypoint( DVECTOR currentPos, s32 *distX, s32 *distY );
};
#endif