]> icculus.org git repositories - divverent/nexuiz.git/blob - data/qcsrc/menu/control/_fx/float.qc
one char less for campaign text box
[divverent/nexuiz.git] / data / qcsrc / menu / control / _fx / float.qc
1 // DP/Nex Menu
2 // control/effect/float.qc
3
4 //////////////////////
5 // Item_Effect_Float
6 ///
7
8 void() Item_Effect_Float_Update =
9 {
10         if( self._state == ITEM_STATE_FORWARD ) {
11                 if( self._presstime + self.time_x < Timer_Time ) {
12                         self._parent.self.targetFloat = self.endFloat;
13                         self._presstime = Timer_Time;
14                         self._state = ITEM_STATE_BACKWARD;
15                 } else
16                         self._parent.self.targetFloat = self.interpolForward( self.startFloat,
17                                 self.endFloat, self.time_x, Timer_Time - self._presstime,
18                                 self._parent.self.targetFloat );
19         } else {
20                 if( self._presstime + self.time_y < Timer_Time ) {
21                         self._parent.self.targetFloat = self.startFloat;
22                         self._presstime = Timer_Time;
23                         self._state = ITEM_STATE_FORWARD;
24                 } else
25                         self._parent.self.targetFloat = self.interpolForward( self.endFloat,
26                                 self.startFloat, self.time_y, Timer_Time - self._presstime,
27                                 self._parent.self.targetFloat );
28         }
29
30         // Check the task state
31         if( ( self.time_y == -1 && self._state == ITEM_STATE_BACKWARD ) ||
32                 ( self.time_z >= 0 && self.time_z >= Timer_Time ) )
33                         if( self.time_z == -2 )
34                                 self._runFlag = self._runFlag | RUNFLAG_CHILDDRAWONLY | FLAG_DRAWONLY;
35                         else
36                                 Menu_DeleteAfterFrame( self );
37 };
38
39 void() Item_Effect_Float_Reinit =
40 {
41         self._parent.self.targetFloat = self.startFloat;
42         self._presstime = Timer_Time;
43         self._state = ITEM_STATE_FORWARD;
44         if( self.flag & FLAG_DRAWONLY )
45                 self.flag = self.flag - FLAG_DRAWONLY;
46 };
47
48 void() Item_Effect_Float_Spawn =
49 {
50         self.flag = self.flag | FLAG_HIDDEN;
51
52         self._update = Item_Effect_Float_Update;
53         self._reinit = Item_Effect_Float_Reinit;
54 };
55