]> icculus.org git repositories - divverent/nexuiz.git/blob - data/menuqc/control/fx/base.qc
rename menu directories
[divverent/nexuiz.git] / data / menuqc / control / fx / base.qc
1 // DP/Nex Menu
2 // control/fx/base.qc
3
4 /////////////////////
5 // [Item_Fx_Mutator]
6 ///
7
8 bool() Item_Fx_Mutator_IsActive =
9 {
10         if( self._parent.time_z >= 0 ) // < 0 stopped
11                 self.time_z = (self._parent.time_z - self.time_y) / self.time_x;
12         else
13                 self.time_z = -1;
14         if( self.time_z > 0 )
15                 return true;
16         return false;
17 };
18
19 void() Item_Fx_Mutator_UpdateTarget =
20 {
21         if( !self.target )
22                 self._target = self._parent._target;
23         else if( self.target != self._target.name )
24                 self._target = Menu_GetItemEx( self._parent._target.parent, self.target, true );
25 };
26
27 void() Item_Fx_Mutator_Destroy =
28 {
29         String_EntityFree( self, target );
30 };
31
32 void() Item_Fx_Mutator_Init =
33 {
34         String_EntityZone( self, target );
35
36         self._destroy = Item_Fx_Destroy;
37 };
38
39
40 //////////////////
41 // Item_Effect
42 ////
43
44 void() Item_Fx_Effect_Update =
45 {
46         if( !self.target ) {
47                 self._target = null_entity;
48                 self.time_z = -1;
49                 return;
50         }
51
52         if( self.target != self._target.name )
53                 self._target = Menu_GetItem( self._target );
54         if( self.time_y <= Timer_Time && self.time_y + self.time_x <= Timer_Time )
55                 self.time_z = (Timer_Time - self.time_y) / self.time_x;
56         else
57                 self.time_z = -1;
58 };
59
60 void() Item_Fx_Effect_Spawn =
61 {
62         Item_Fx_Init();
63
64         self.time_y = -1;
65
66         self.flag = self.flag | FLAG_HIDDEN;
67
68         self._update = Item_Fx_Effect_Update;
69 };