SBSPSS/source/player/pmcoral.h
2001-07-10 19:56:51 +00:00

96 lines
2.0 KiB
C++

/*=========================================================================
pmcoral.h
Author: PKG
Created:
Project: Spongebob
Purpose:
Copyright (c) 2001 Climax Development Ltd
===========================================================================*/
#ifndef __PLAYER_PMCORAL_H__
#define __PLAYER_PMCORAL_H__
/*----------------------------------------------------------------------
Includes
-------- */
#ifndef __PLAYER_PMODES_H__
#include "player\pmodes.h"
#endif
/* Std Lib
------- */
/*----------------------------------------------------------------------
Tyepdefs && Defines
------------------- */
/*----------------------------------------------------------------------
Structure defintions
-------------------- */
class CPlayerModeCoralBlower : public CPlayerModeBase
{
public:
virtual void enter();
virtual void think();
virtual void renderModeUi();
virtual int canDoLookAround();
virtual int canConverse() {return m_blowerState==BLOWER_STATE__EMPTY||m_blowerState==BLOWER_STATE__FULL;}
virtual const struct PlayerMetrics *getPlayerMetrics();
protected:
virtual class CPlayerState **getStateTable();
private:
typedef enum
{
BLOWER_STATE__EMPTY,
BLOWER_STATE__SUCKING,
BLOWER_STATE__FULL,
BLOWER_STATE__AIMING,
} BlowerState;
enum
{
BLOWER_TARGET_DISTANCE=40,
BLOWER_MINIMUM_AIM_ANGLE=-768,
BLOWER_MAXIMUM_AIM_ANGLE=768,
BLOWER_AIM_MOVE_AMOUNT=256,
};
DVECTOR *getSuckUpPoint();
BlowerState m_blowerState;
class CNpcEnemy *m_enemy;
u8 m_enemyFrame;
int m_launchHeading;
};
/*----------------------------------------------------------------------
Globals
------- */
/*----------------------------------------------------------------------
Functions
--------- */
/*---------------------------------------------------------------------- */
#endif /* __PLAYER_PMCORAL_H__ */
/*===========================================================================
end */