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

📄 object.h

📁 this keik game source
💻 H
字号:
//-----------------------------------------------------------------------------
//
//  $Logfile:: /Quake 2 Engine/Sin/code/game/object.h                         $
// $Revision:: 7                                                              $
//   $Author:: Markd                                                          $
//     $Date:: 9/22/98 12:49p                                                 $
//
// Copyright (C) 1997 by Ritual Entertainment, Inc.
// All rights reserved.
//
// This source is may not be distributed and/or modified without
// expressly written permission by Ritual Entertainment, Inc.
//
// $Log:: /Quake 2 Engine/Sin/code/game/object.h                              $
// 
// 7     9/22/98 12:49p Markd
// Put in archive and unarchive functions
// 
// 6     8/29/98 7:16p Markd
// Added FireBarrel
// 
// 5     8/09/98 5:50p Markd
// Rewrote ThrowObjects pickup and throw
// 
// 4     8/08/98 8:24p Markd
// Added ThrowObject
// 
// 3     4/10/98 1:24a Markd
// Got rid of damage func
// 
// 2     4/05/98 10:53p Markd
// first time
// 
// 1     4/05/98 10:51p Markd
// 
// DESCRIPTION:
// Object class
// 

#ifndef __OBJECT_H__
#define __OBJECT_H__

#include "g_local.h"
#include "entity.h"
#include "specialfx.h"

class EXPORT_FROM_DLL Object : public Entity
	{
   private:
	public:
      CLASS_PROTOTYPE( Object );
							   Object::Object();
      void              Killed(Event *ev);
	};

extern Event EV_ThrowObject_Pickup;
extern Event EV_ThrowObject_Throw;

class EXPORT_FROM_DLL ThrowObject : public Object
	{
   private:
      int               owner;
      Vector            pickup_offset;
      str               throw_sound;
	public:
      CLASS_PROTOTYPE( ThrowObject );
							   ThrowObject::ThrowObject();
      void              Touch(Event *ev);
      void              Throw( Event * ev );
      void              Pickup( Event * ev );
      void              PickupOffset( Event * ev );
      void              ThrowSound( Event * ev );
	   virtual void      Archive( Archiver &arc );
      virtual void      Unarchive( Archiver &arc );
	};

inline EXPORT_FROM_DLL void ThrowObject::Archive
	(
	Archiver &arc
	)
   {
   Object::Archive( arc );

   arc.WriteInteger( owner );
   arc.WriteVector( pickup_offset );
   arc.WriteString( throw_sound );
   }

inline EXPORT_FROM_DLL void ThrowObject::Unarchive
	(
	Archiver &arc
	)
   {
   Object::Unarchive( arc );

   arc.ReadInteger( &owner );
   arc.ReadVector( &pickup_offset );
   arc.ReadString( &throw_sound );
   }


class EXPORT_FROM_DLL FireBarrel : public Object
	{
   private:
      FireSprite        *fire;
	public:
      CLASS_PROTOTYPE( FireBarrel );
							   FireBarrel::FireBarrel();
							   FireBarrel::~FireBarrel();
	   virtual void      Archive( Archiver &arc );
      virtual void      Unarchive( Archiver &arc );
	};

inline EXPORT_FROM_DLL void FireBarrel::Archive
	(
	Archiver &arc
	)
   {
   Object::Archive( arc );

   arc.WriteObjectPointer( fire );
   }

inline EXPORT_FROM_DLL void FireBarrel::Unarchive
	(
	Archiver &arc
	)
   {
   Object::Unarchive( arc );

   arc.ReadObjectPointer( ( Class ** )&fire );
   }

#endif /* object.h */

⌨️ 快捷键说明

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