28#include "scriptslave.h"
30extern Event EV_FuncBeam_Activate;
31extern Event EV_FuncBeam_Deactivate;
32extern Event EV_FuncBeam_Diameter;
33extern Event EV_FuncBeam_Maxoffset;
34extern Event EV_FuncBeam_Minoffset;
35extern Event EV_FuncBeam_Overlap;
36extern Event EV_FuncBeam_Color;
37extern Event EV_FuncBeam_SetTarget;
38extern Event EV_FuncBeam_SetAngle;
39extern Event EV_FuncBeam_SetEndPoint;
40extern Event EV_FuncBeam_SetLife;
41extern Event EV_FuncBeam_Shader;
42extern Event EV_FuncBeam_Segments;
43extern Event EV_FuncBeam_Delay;
44extern Event EV_FuncBeam_NumSphereBeams;
45extern Event EV_FuncBeam_SphereRadius;
46extern Event EV_FuncBeam_ToggleDelay;
47extern Event EV_FuncBeam_FindEndpoint;
48extern Event EV_FuncBeam_EndAlpha;
50class FuncBeam :
public ScriptSlave
53 SimpleEntityPtr end, origin_target;
64 CLASS_PROTOTYPE(FuncBeam);
68 void SetAngle(
Event *ev);
69 void SetAngles(
Event *ev);
70 void SetEndPoint(
Event *ev);
71 void SetModel(
Event *ev);
72 void SetDamage(
Event *ev);
73 void SetOverlap(
Event *ev);
74 void SetBeamStyle(
Event *ev);
75 void SetLife(
Event *ev);
76 void Activate(
Event *ev);
77 void Deactivate(
Event *ev);
78 void SetDiameter(
Event *ev);
79 void SetMaxoffset(
Event *ev);
80 void SetMinoffset(
Event *ev);
81 void SetColor(
Event *ev);
82 void SetSegments(
Event *ev);
83 void SetBeamShader(
str shader);
84 void SetBeamShader(
Event *ev);
85 void SetBeamTileShader(
Event *ev);
86 void SetDelay(
Event *ev);
87 void SetToggleDelay(
Event *ev);
88 void SetSphereRadius(
Event *ev);
89 void SetNumSphereBeams(
Event *ev);
90 void SetEndAlpha(
Event *ev);
91 void SetShootRadius(
Event *ev);
92 void SetPersist(
Event *ev);
93 void FindEndpoint(
Event *ev);
94 void UpdateEndpoint(
Event *ev);
95 void UpdateOrigin(
Event *ev);
96 void Shoot(
Event *ev);
97 void SetIgnoreWalls(
Event *ev);
99 void setAngles(
Vector ang)
override;
100 void Archive(
Archiver& arc)
override;
102 FuncBeam *CreateBeam(
111 Entity *origin_target = NULL
113 friend FuncBeam *CreateBeam(
126inline void FuncBeam::Archive(
Archiver& arc)
128 ScriptSlave::Archive(arc);
129 arc.ArchiveSafePointer(&end);
130 arc.ArchiveSafePointer(&origin_target);
131 arc.ArchiveFloat(&damage);
132 arc.ArchiveFloat(&life);
133 arc.ArchiveVector(&end_point);
134 arc.ArchiveBoolean(&use_angles);
135 arc.ArchiveFloat(&shootradius);
136 arc.ArchiveString(&shader);
138 SetBeamShader(shader);
Definition listener.h:246