2 // control/data/base.qc
9 void( entity pItem, float pEvent ) Raise_DataEvent =
13 if( !pItem._dataEvent )
18 self._dataEvent( pEvent );
31 void() Item_Data_Destroy =
33 String_EntityFree( self, value );
34 String_EntityFree( self, defValue );
35 String_EntityFree( self, _syncValue );
43 void() Item_Data_Init =
45 String_EntityZone( self, value );
46 String_EntityZone( self, defValue );
47 String_EntityCreate( self, _syncValue );
49 self.flag = self.flag | FLAG_HIDDEN;
51 self._destroy = Item_Data_Destroy;
63 void() Item_DataLink_Update =
66 self._link = null_entity;
67 else if( self.link != self._link.name )
68 self._link = Menu_GetItem( self.link );
76 void() Item_DataLink_Destroy =
78 String_EntityFree( self, link );
79 String_EntityFree( self, value );
87 void() Item_DataLink_Init =
89 self.flag = self.flag | FLAG_HIDDEN;
91 String_EntityZone( self, link );
92 String_EntityZone( self, value );
93 Item_DataLink_Update();
95 self._destroy = Item_DataLink_Destroy;
99 // [Item_DataLink_Switch]
104 Item_DataLink_Switch_Destroy
107 void() Item_DataLink_Switch_Destroy =
109 Item_DataLink_Destroy();
110 String_EntityFree( self, descList );
115 Item_DataLink_Switch_Init
118 void() Item_DataLink_Switch_Init =
120 Item_DataLink_Value_Spawn();
121 String_EntityZone( self, descList );
123 self._destroy = Item_DataLink_Switch_Destroy;
131 float( entity pDataLink, float pValue ) Item_DataLink_Switch_GetOrdinal =
135 return (pValue - pDataLink.minValue) / pDataLink.stepValue;
147 void() Item_DataUser_Update =
149 if( self.target == "" )
150 self._target = null_entity;
151 else if( self.target != self._target.name )
152 self._target = Menu_GetItem( self.target );
157 Item_DataUser_Destroy
160 void() Item_DataUser_Destroy =
162 String_EntityFree( self, target );
170 void() Item_DataUser_Init =
172 String_EntityZone( self, target );
174 Item_DataUser_Update();
176 self._destroy = Item_DataUser_Destroy;
181 Item_DataContainer_DataEvent
184 void( float pEvent ) Item_DataContainer_DataEvent =
186 // no support for embedded stuff yet (isnt needed imho anyway)
189 for( lItem = self._child ; lItem != null_entity ; lItem = lItem._next ) {
190 Raise_DataEvent( lItem, pEvent );
196 Item_DataContainer_Spawn
199 void() Item_DataContainer_Spawn =
201 Item_Container_Spawn();
203 self._dataEvent = Item_DataContainer_DataEvent;