⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 soccerobjects.h

📁 Blood 2全套源码
💻 H
字号:
/****************************************************************************
;
;	 MODULE:		SOCCEROBJECTS (.H)
;
;	PURPOSE:		Soccer objects for zombie-head soccer
;
;	HISTORY:		1/26/99 [bp] This file was created
;
;	COMMENT:		Copyright (c) 1999, Monolith Productions Inc.
;
****************************************************************************/


#ifndef _SOCCEROBJECTS_H_
#define _SOCCEROBJECTS_H_


// Includes...

#include "B2BaseClass.h"


// Classes...

class SoccerGoal : public B2BaseClass
{
	// Member functions...

	public:

		SoccerGoal();
		~SoccerGoal();

		DDWORD			EngineMessageFn( DDWORD messageID, void* pData, DFLOAT fData );
//		DDWORD			ObjectMessageFn( HOBJECT hSender, DDWORD messageID, HMESSAGEREAD hRead );

		int				GetTeamID() { return( m_nTeamID ); }

		void			SendTrigger( );
		static DList *	GetGoalList( ) { return &m_GoalList; }
		void			SpawnBall( );

	protected:

		void			ReadProp( ObjectCreateStruct* pStruct );
		void			PostPropRead( ObjectCreateStruct* pStruct );
		void			OnTouchNotify( HOBJECT hObj );
		void			Update( );

		void			OnInitialUpdate( void* pData, DFLOAT fData );

	// Member variables...

	private:

		static DList	m_GoalList;
		DLink			m_Link;

		int				m_nTeamID;
		DBOOL			m_bDirectional;
		DVector			m_vGoalDirection;
		DBOOL			m_bBoxPhysics;
		HSTRING			m_hstrScoreSound;
		float			m_fRadius;
		HSTRING			m_hstrScoreTarget;
		HSTRING			m_hstrScoreMsg;
		HCLASS			m_hSoccerBall;
		DBYTE			m_nNumBallsToMake;
		DBOOL			m_bWaitOneFrame;
};


class SoccerBall : public B2BaseClass
{
	// Member functions...

	public:

		SoccerBall();
		~SoccerBall();

		HOBJECT			GetLastPlayerTouched( ) const { return m_hLastPlayer; }

		DDWORD			EngineMessageFn( DDWORD messageID, void* pData, DFLOAT fData );
		DDWORD			ObjectMessageFn( HOBJECT hSender, DDWORD messageID, HMESSAGEREAD hRead );

		DBOOL			IsMadeGoal( ) { return m_bMadeGoal; }

	protected:

		void			ReadProp( ObjectCreateStruct* pStruct );
		void			PostPropRead( ObjectCreateStruct* pStruct );

		void			OnInitialUpdate( void* pData, DFLOAT fData );
		void			OnTouchNotify( HOBJECT hObj, float fForce );
		void			Update( );
		void			CreateLight( );

	// Member variables...

	private:

		DBOOL			m_bOnGround;
		float			m_fLastTimeOnGround;
		float			m_fLastBounceTime;
		DBOOL			m_bBounced;
		float			m_fRadius;
		float			m_fRespawnTime;

		DVector			m_vLastNormal;
		DVector			m_vLastPos;

		HOBJECT			m_hLastPlayer;

//		HOBJECT			m_hLight;
//		HATTACHMENT		m_hLightAttachment;

		DBOOL			m_bMadeGoal;

};

#endif // _SOCCEROBJECTS_H_


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -