2 // control/effect/float.qc
8 void() Item_Effect_Float_Update =
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;
16 self._parent.self.targetFloat = self.interpolForward( self.startFloat,
17 self.endFloat, self.time_x, Timer_Time - self._presstime,
18 self._parent.self.targetFloat );
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;
25 self._parent.self.targetFloat = self.interpolForward( self.endFloat,
26 self.startFloat, self.time_y, Timer_Time - self._presstime,
27 self._parent.self.targetFloat );
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;
36 Menu_DeleteAfterFrame( self );
39 void() Item_Effect_Float_Reinit =
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;
48 void() Item_Effect_Float_Spawn =
50 self.flag = self.flag | FLAG_HIDDEN;
52 self._update = Item_Effect_Float_Update;
53 self._reinit = Item_Effect_Float_Reinit;