亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? trigger.h

?? this keik game source
?? H
?? 第 1 頁 / 共 2 頁
字號:
//-----------------------------------------------------------------------------
//
//  $Logfile:: /Quake 2 Engine/Sin/code/game/trigger.h                        $
// $Revision:: 46                                                             $
//   $Author:: Jimdose                                                        $
//     $Date:: 12/10/98 1:45p                                                 $
//
// 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/trigger.h                             $
// 
// 46    12/10/98 1:45p Jimdose
// added TriggerBox
// 
// 45    10/25/98 11:53p Jimdose
// added EXPORT_TEMPLATE
// 
// 44    10/24/98 6:04p Jimdose
// added changethread to TriggerChangeLevel
// 
// 43    10/23/98 3:44a Markd
// restart trigger_speakers after loading in a save game
// 
// 42    10/17/98 8:13p Jimdose
// Changed Damage to DamgeEvent in DamageThreshold
// Changed ownernum to EntityPtr owner in TouchField
// 
// 41    10/15/98 10:08p Markd
// Made all sounds synched by default
// 
// 40    10/14/98 7:54p Markd
// Added trigger_exit
// 
// 39    10/13/98 11:14p Markd
// Added Trigger_mutate
// 
// 38    9/21/98 4:21p Markd
// Put in archive functions and rewrote all archive routines
// 
// 37    9/20/98 7:30p Aldie
// Added flags to particles
// 
// 36    9/15/98 7:01p Markd
// Added setdamage ability to trigger_hurt's
// 
// 35    9/09/98 3:56p Aldie
// New lightning effect
// 
// 34    8/29/98 9:54p Jimdose
// externed EV_Trigger_StartThread and EV_Trigger_SetKey
// 
// 33    8/24/98 4:55p Markd
// Added speed to TriggerPush
// 
// 32    8/19/98 2:29p Aldie
// Added trigger_pushany
// 
// 31    8/17/98 6:20p Markd
// Added trigger_camerause
// 
// 30    8/14/98 8:18p Markd
// Fixed silly str thing to get rid of weird messages.
// 
// 29    8/05/98 2:52p Markd
// Added thread string variable to all triggers
// 
// 28    7/25/98 2:11a Jimdose
// Added TouchFieldPtr
// 
// 27    7/18/98 4:03p Markd
// Added SetKey event
// 
// 26    7/16/98 5:46p Markd
// Added particlestyle support to trigger_randomparticles
// 
// 25    7/13/98 5:57p Markd
// Added trigger_damagetargetsfixed and trigger_thread
// 
// 24    6/25/98 8:48p Markd
// Rewrote Item class, added keyed items to triggers, cleaned up item system
// 
// 23    5/25/98 5:42p Markd
// Added TriggerParticles and TriggerRandomTriggers
// 
// 22    5/24/98 8:46p Jimdose
// Made a lot of functions more str-friendly.
// Got rid of a lot of char * based strings
// Cleaned up get spawn arg functions and sound functions
// sound functions now use consistant syntax
// 
// 21    5/24/98 4:48p Jimdose
// Made char *'s const
// 
// 20    5/20/98 1:32p Markd
// put more functionality into Trigger_damagetargets
// 
// 19    5/20/98 11:12a Markd
// removed char * dependency
// 
// 18    5/16/98 5:01p Markd
// Added TriggerDamageTargets
// 
// 17    5/13/98 4:52p Jimdose
// now uses SafePtrs
// 
// 16    4/29/98 10:47p Markd
// Added trigger_speaker, trigger_randomspeaker
// 
// 15    4/20/98 1:40p Jimdose
// Added respondto in TouchField::Setup
// 
// 14    4/18/98 2:33p Jimdose
// Added damage_taken to DamageThreshold
// 
// 13    4/04/98 6:17p Jimdose
// Added EV_Trigger_Effect for overriding the effect of a trigger in subclasses
// added respondto variable to determine whether a trigger responds to players,
// monsters, or projectiles
// defined TRIGGER_PLAYERS, TRIGGER_MONSTERS, and TRIGGER_PROJECTILES
// Added TriggerHurt
// 
// 12    3/29/98 9:39p Jimdose
// Changed killed and pain to events
// 
// 11    3/27/98 5:38p Jimdose
// Made TriggerChangeLevel work
// 
// 10    3/23/98 1:33p Jimdose
// Revamped event and command system
// 
// 9     3/02/98 8:49p Jimdose
// Changed CLASS_PROTOTYPE to only take the classname
// 
// 8     2/17/98 6:58p Jimdose
// no longer pass script into interpretCommand
// 
// 7     2/06/98 5:42p Jimdose
// Added event handler to damageThreshold
// 
// 6     2/03/98 10:49a Jimdose
// Updated to work with Quake 2 engine
// Changed from think functions to events
// 
// 4     12/06/97 4:51p Markd
// Added intepretCommand for Trigger and TriggerMonsterJump
// 
// 3     10/27/97 2:59p Jimdose
// Removed dependency on quakedef.h
// 
// 2     9/26/97 5:23p Jimdose
// Added standard Ritual headers
//
// DESCRIPTION:
// Environment based triggers.
// 

#ifndef __TRIGGER_H__
#define __TRIGGER_H__

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

class ScriptMaster;

extern Event EV_Trigger_ActivateTargets;
extern Event EV_Trigger_SetWait;
extern Event EV_Trigger_SetDelay;
extern Event EV_Trigger_SetCount;
extern Event EV_Trigger_SetMessage;
extern Event EV_Trigger_SetNoise;
extern Event EV_Trigger_SetKey;
extern Event EV_Trigger_Effect;
extern Event EV_Trigger_StartThread;
extern Event EV_Trigger_SetKey;

#define TRIGGER_PLAYERS			4
#define TRIGGER_MONSTERS		8
#define TRIGGER_PROJECTILES	16

class EXPORT_FROM_DLL Trigger : public Entity
	{
	protected:
		float			wait;
		float			delay;
		float			trigger_time;
		qboolean		triggerActivated;
		int			count;
		str		   noise;
		str			message;
      str         key;
      str         thread;
		EntityPtr	activator;
		int			respondto;

	public:
      CLASS_PROTOTYPE( Trigger );

						Trigger();
		virtual		~Trigger();

		void			Touch( Event *ev );
		void			EventSetWait( Event *ev );
		void			EventSetDelay( Event *ev );
		void			EventSetCount( Event *ev );
		void			EventSetKey( Event *ev );

		void			EventSetMessage( Event *ev );
		void			SetMessage( const char *message );
		str         &Message( void );

		void			EventSetNoise( Event *ev );
		void			SetNoise( const char *text );
		str         &Noise( void );

      void        StartThread( Event *ev );
		void			TriggerStuff( Event *ev );
		void			ActivateTargets( Event *ev );
      virtual void Archive( Archiver &arc );
      virtual void Unarchive( Archiver &arc );
	};

inline EXPORT_FROM_DLL void Trigger::Archive
	(
	Archiver &arc
	)
   {
   Entity::Archive( arc );
   arc.WriteFloat( wait );
   arc.WriteFloat( delay );
   arc.WriteFloat( trigger_time );
   arc.WriteBoolean( triggerActivated );
   arc.WriteInteger( count );
   arc.WriteString( noise );
   arc.WriteString( message );
   arc.WriteString( key );
   arc.WriteString( thread );
   arc.WriteSafePointer( activator );
   arc.WriteInteger( respondto );
   }

inline EXPORT_FROM_DLL void Trigger::Unarchive
	(
	Archiver &arc
	)
   {
   Entity::Unarchive( arc );
   arc.ReadFloat( &wait );
   arc.ReadFloat( &delay );
   arc.ReadFloat( &trigger_time );
   arc.ReadBoolean( &triggerActivated );
   arc.ReadInteger( &count );
   arc.ReadString( &noise );
   arc.ReadString( &message );
   arc.ReadString( &key );
   arc.ReadString( &thread );
   arc.ReadSafePointer( &activator );
   arc.ReadInteger( &respondto );
   }

class EXPORT_FROM_DLL TouchField : public Trigger
	{
	private:
		Event				ontouch;
		EntityPtr      owner;

	public:
      CLASS_PROTOTYPE( TouchField );

		virtual void	Setup( Entity *ownerentity, Event ontouch, Vector min, Vector max, int respondto );
		void				SendEvent( Event *ev );
      virtual void   Archive(	Archiver &arc );
      virtual void   Unarchive( Archiver &arc );
	};

inline EXPORT_FROM_DLL void TouchField::Archive
	(
	Archiver &arc
	)
   {
   Trigger::Archive( arc );
   arc.WriteEvent( ontouch );
   arc.WriteSafePointer( owner );
   }

inline EXPORT_FROM_DLL void TouchField::Unarchive
	(
	Archiver &arc
	)
   {
   Trigger::Unarchive( arc );
   arc.ReadEvent( &ontouch );
   arc.ReadSafePointer( &owner );
   }

#ifdef EXPORT_TEMPLATE
template class EXPORT_FROM_DLL SafePtr<TouchField>;
#endif
typedef SafePtr<TouchField> TouchFieldPtr;

class EXPORT_FROM_DLL TriggerOnce : public Trigger
	{
	public:
      CLASS_PROTOTYPE( TriggerOnce );
		TriggerOnce();
	};

class EXPORT_FROM_DLL TriggerRelay : public Trigger
	{
	public:
      CLASS_PROTOTYPE( TriggerRelay );
		
		TriggerRelay();
	};

class EXPORT_FROM_DLL DamageThreshold : public Trigger
	{
	protected:
		int				damage_taken;

	public:
      CLASS_PROTOTYPE( DamageThreshold );

		virtual void	DamageEvent( Event *ev );
		void				Setup( Event *ev );
							DamageThreshold();
      virtual void   Archive(	Archiver &arc );
      virtual void   Unarchive( Archiver &arc );
	};

inline EXPORT_FROM_DLL void DamageThreshold::Archive
	(
	Archiver &arc
	)
   {
   Trigger::Archive( arc );
   arc.WriteInteger( damage_taken );
   }

inline EXPORT_FROM_DLL void DamageThreshold::Unarchive
	(
	Archiver &arc
	)
   {
   Trigger::Unarchive( arc );
   arc.ReadInteger( &damage_taken );
   }

class EXPORT_FROM_DLL TriggerSecret : public TriggerOnce
	{
	public:
      CLASS_PROTOTYPE( TriggerSecret );
								
				TriggerSecret();
		void	FoundSecret( Event *ev );
		void	Activate( Event *ev );
	};

class EXPORT_FROM_DLL TriggerPush : public Trigger
	{
	protected:
      float    speed;
		Vector	pushvelocity;

	public:
      CLASS_PROTOTYPE( TriggerPush );

					TriggerPush();
		void		Push( Event *ev );
      virtual void Archive(	Archiver &arc );
      virtual void Unarchive( Archiver &arc );
	};

inline EXPORT_FROM_DLL void TriggerPush::Archive
	(
	Archiver &arc
	)
   {
   Trigger::Archive( arc );
   arc.WriteFloat( speed );
   arc.WriteVector( pushvelocity );
   }

inline EXPORT_FROM_DLL void TriggerPush::Unarchive
	(
	Archiver &arc
	)
   {
   Trigger::Unarchive( arc );
   arc.ReadFloat( &speed );
   arc.ReadVector( &pushvelocity );
   }

class EXPORT_FROM_DLL TriggerPushAny : public Trigger
	{
	protected:
      float    speed;
		Vector	pushvelocity;

	public:
      CLASS_PROTOTYPE( TriggerPushAny );

					TriggerPushAny();

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲色图视频网| 国产精品成人免费精品自在线观看| 国产精品888| 亚洲最新视频在线观看| 久久久亚洲精品石原莉奈| 91浏览器入口在线观看| 经典三级在线一区| 午夜精品一区二区三区电影天堂 | 欧美在线999| 国内一区二区视频| 亚洲v中文字幕| 中文字幕在线观看不卡| 久久综合色8888| 7777精品伊人久久久大香线蕉 | 久久电影网站中文字幕| 亚洲综合一二区| 亚洲视频香蕉人妖| 国产丝袜在线精品| 久久综合狠狠综合| 欧美成人免费网站| 在线播放亚洲一区| 日本韩国一区二区三区| 不卡电影免费在线播放一区| 国产精品一级片在线观看| 免费在线观看一区| 亚洲高清免费一级二级三级| 一区二区国产盗摄色噜噜| 中文字幕av资源一区| 国产亚洲欧美在线| 久久婷婷国产综合国色天香| 日韩一二在线观看| 日韩免费观看2025年上映的电影| 欧美精品免费视频| 91 com成人网| 9191久久久久久久久久久| 欧美另类一区二区三区| 欧美亚洲一区二区在线观看| 在线观看免费一区| 在线视频国产一区| 在线亚洲精品福利网址导航| 欧美性高清videossexo| 91黄色免费观看| 在线视频一区二区免费| 欧美日韩精品一区二区三区| 欧美色中文字幕| 欧美视频一区在线| 欧美日韩国产美| 51精品秘密在线观看| 日韩视频一区二区三区在线播放 | 欧美日韩夫妻久久| 91精品国产一区二区| 欧美一区二区大片| 精品久久国产97色综合| 精品久久久久久久久久久院品网| 国产日韩影视精品| 中文字幕免费在线观看视频一区| 国产精品电影院| 一区二区在线观看免费视频播放| 亚洲一区二区在线视频| 日本va欧美va瓶| 国产一区二区三区美女| 成人国产精品免费网站| 在线视频你懂得一区二区三区| 欧美日韩精品一区二区三区四区| 欧美一个色资源| 国产视频一区二区在线观看| 亚洲欧美一区二区不卡| 亚洲国产成人av| 狠狠色丁香九九婷婷综合五月| 国产成人夜色高潮福利影视| 94色蜜桃网一区二区三区| 欧美午夜不卡在线观看免费| 欧美一卡二卡在线| 国产欧美精品在线观看| 一区二区三区欧美亚洲| 美女免费视频一区| 懂色中文一区二区在线播放| 在线观看网站黄不卡| 精品日韩一区二区| 日韩伦理电影网| 麻豆精品新av中文字幕| 99视频精品免费视频| 91精品免费观看| 国产精品女同一区二区三区| 亚洲一二三级电影| 国产91精品一区二区麻豆亚洲| 日本二三区不卡| 精品国产电影一区二区| 亚洲久草在线视频| 极品美女销魂一区二区三区| 91国偷自产一区二区三区观看 | 亚洲一卡二卡三卡四卡五卡| 精品一区二区三区蜜桃| 在线亚洲一区二区| 久久久国产精品不卡| 日韩精品亚洲一区二区三区免费| 国产成人免费视频一区| 欧美久久久一区| 亚洲视频免费观看| 国产乱码精品一品二品| 这里只有精品视频在线观看| 中文字幕亚洲不卡| 国产一区二区三区国产| 91精品欧美综合在线观看最新| 亚洲图片另类小说| 国产激情视频一区二区三区欧美 | 自拍偷拍国产精品| 国产麻豆视频一区| 制服丝袜在线91| 亚洲综合一二区| 99久久99久久综合| 欧美国产成人在线| 韩国女主播成人在线观看| 欧美挠脚心视频网站| 亚洲欧美怡红院| 国产91精品一区二区| 久久影院午夜论| 毛片av一区二区三区| 欧美日韩三级一区二区| 亚洲精品国产一区二区三区四区在线| 国产麻豆成人传媒免费观看| 日韩欧美国产电影| 秋霞影院一区二区| 欧美日韩1234| 五月天中文字幕一区二区| 日本韩国精品在线| 一个色在线综合| 色哟哟亚洲精品| 国产精品久久久久一区二区三区共| 国产乱妇无码大片在线观看| 26uuuu精品一区二区| 狠狠色狠狠色综合系列| 精品免费视频一区二区| 九九九久久久精品| 久久伊人中文字幕| 国产精品系列在线播放| 欧美极品少妇xxxxⅹ高跟鞋| 国产很黄免费观看久久| 久久精品夜色噜噜亚洲a∨| 国产一区二区三区不卡在线观看 | 国产精品一区二区无线| 久久午夜免费电影| 成人一区二区三区| 中文字幕一区av| 91网址在线看| 亚洲一区二区三区四区中文字幕| 欧洲国产伦久久久久久久| 亚洲一区在线观看网站| 欧美乱妇15p| 狠狠色丁香久久婷婷综合_中| 国产午夜精品久久久久久免费视 | 日本乱人伦aⅴ精品| 亚洲一区二区在线观看视频| 欧美日韩国产经典色站一区二区三区| 婷婷综合五月天| 久久人人97超碰com| 成人免费视频播放| 亚洲欧美日韩国产综合| 欧美视频一二三区| 麻豆精品一区二区综合av| 国产女人aaa级久久久级 | 欧美精品一二三| 麻豆91在线观看| 国产日韩精品一区二区三区 | 亚洲国产va精品久久久不卡综合 | 精品国产凹凸成av人导航| 成熟亚洲日本毛茸茸凸凹| 亚洲精选免费视频| 日韩视频一区二区三区在线播放 | 日韩美女视频一区| 制服丝袜av成人在线看| 国产乱一区二区| 亚洲欧美日韩精品久久久久| 日韩一级片网站| 不卡av免费在线观看| 五月激情丁香一区二区三区| 久久精品欧美日韩精品| 色婷婷亚洲婷婷| 久久成人av少妇免费| 成人欧美一区二区三区小说| 日韩欧美资源站| 一本大道久久a久久精品综合| 美女视频黄 久久| 一区二区三区加勒比av| 精品对白一区国产伦| 色天使色偷偷av一区二区 | 欧美日韩精品系列| 国产成人丝袜美腿| 亚洲bt欧美bt精品| 国产欧美日本一区视频| 91麻豆精品国产| 日本精品裸体写真集在线观看 | 亚洲欧美视频在线观看视频| 精品国产百合女同互慰| 欧美日韩在线播| 99久久久精品| 国产伦精一区二区三区| 视频一区中文字幕国产| 一区二区三区影院| 久久精品亚洲精品国产欧美|