mirror of
https://github.com/openmoh/openmohaa.git
synced 2025-04-28 21:57:57 +03:00
130 lines
3.6 KiB
C++
130 lines
3.6 KiB
C++
/*
|
|
===========================================================================
|
|
Copyright (C) 2015 the OpenMoHAA team
|
|
|
|
This file is part of OpenMoHAA source code.
|
|
|
|
OpenMoHAA source code is free software; you can redistribute it
|
|
and/or modify it under the terms of the GNU General Public License as
|
|
published by the Free Software Foundation; either version 2 of the License,
|
|
or (at your option) any later version.
|
|
|
|
OpenMoHAA source code is distributed in the hope that it will be
|
|
useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with OpenMoHAA source code; if not, write to the Free Software
|
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
===========================================================================
|
|
*/
|
|
|
|
// simpleentity.h: Simple entity.
|
|
|
|
#ifndef __SIMPLEENTITY_H__
|
|
#define __SIMPLEENTITY_H__
|
|
|
|
#include "listener.h"
|
|
|
|
extern Event EV_SetAngles;
|
|
extern Event EV_SetAngle;
|
|
extern Event EV_SetOrigin;
|
|
|
|
typedef int entflags_t;
|
|
|
|
class SimpleEntity;
|
|
typedef SafePtr< SimpleEntity > SimpleEntityPtr;
|
|
|
|
class SimpleEntity : public Listener
|
|
{
|
|
public:
|
|
// Base coord variable
|
|
Vector origin;
|
|
Vector angles;
|
|
|
|
// Flag (used to set a class flag)
|
|
entflags_t entflags;
|
|
|
|
// Used by scripts
|
|
str target;
|
|
str targetname;
|
|
|
|
// Centered origin based on mins/maxs
|
|
Vector centroid;
|
|
|
|
public:
|
|
CLASS_PROTOTYPE( SimpleEntity );
|
|
|
|
SimpleEntity();
|
|
virtual ~SimpleEntity();
|
|
|
|
void SimpleArchive( Archiver& arc );
|
|
virtual void Archive( Archiver& arc );
|
|
|
|
virtual void setOrigin( Vector origin );
|
|
virtual void setOriginEvent( Vector origin );
|
|
virtual void setAngles( Vector angles );
|
|
|
|
void SetTarget( str target );
|
|
void SetTargetName( str targetname );
|
|
str& Target();
|
|
str& TargetName();
|
|
|
|
SimpleEntity *Next( void );
|
|
|
|
int IsSubclassOfEntity( void ) const;
|
|
int IsSubclassOfAnimate( void ) const;
|
|
int IsSubclassOfSentient( void ) const;
|
|
int IsSubclassOfPlayer( void ) const;
|
|
int IsSubclassOfActor( void ) const;
|
|
int IsSubclassOfItem( void ) const;
|
|
int IsSubclassOfInventoryItem( void ) const;
|
|
int IsSubclassOfWeapon( void ) const;
|
|
int IsSubclassOfProjectile( void ) const;
|
|
int IsSubclassOfDoor( void ) const;
|
|
int IsSubclassOfCamera( void ) const;
|
|
int IsSubclassOfVehicle( void ) const;
|
|
int IsSubclassOfVehicleTank( void ) const;
|
|
int IsSubclassOfVehicleTurretGun( void ) const;
|
|
int IsSubclassOfTurretGun( void ) const;
|
|
int IsSubclassOfPathNode( void ) const;
|
|
int IsSubclassOfWaypoint( void ) const;
|
|
int IsSubclassOfTempWaypoint( void ) const;
|
|
int IsSubclassOfVehiclePoint( void ) const;
|
|
int IsSubclassOfSplinePath( void ) const;
|
|
int IsSubclassOfCrateObject( void ) const;
|
|
int IsSubclassOfBot( void ) const;
|
|
|
|
void EventGetAngle( Event *ev );
|
|
void EventGetAngles( Event *ev );
|
|
void EventGetOrigin( Event *ev );
|
|
void EventGetTargetname( Event *ev );
|
|
void EventGetTarget( Event *ev );
|
|
|
|
void EventSetAngle( Event *ev );
|
|
void EventSetAngles( Event *ev );
|
|
void EventSetOrigin( Event *ev );
|
|
void EventSetTargetname( Event *ev );
|
|
void EventSetTarget( Event *ev );
|
|
|
|
void GetCentroid( Event *ev );
|
|
|
|
void GetForwardVector( Event *ev );
|
|
void GetLeftVector( Event *ev );
|
|
void GetRightVector( Event *ev );
|
|
void GetUpVector( Event *ev );
|
|
|
|
void MPrintf( const char *msg, ... );
|
|
};
|
|
|
|
class SimpleArchivedEntity : public SimpleEntity
|
|
{
|
|
public:
|
|
CLASS_PROTOTYPE( SimpleArchivedEntity );
|
|
|
|
SimpleArchivedEntity();
|
|
virtual ~SimpleArchivedEntity();
|
|
};
|
|
|
|
#endif
|