void XRayTube::WarmUpXTube() // switchingToTubeReady, switchingToSampling { switch(m_status) { case Closed: if(CanOpen()){ // change m_status to 'PreOpen', then change to 'Opening', 'StandBy' in function ::Update() Open(); m_status = PreOpen; } break; case StandBy: case Ready: case CoolingDnHV: case CoolingDnMA: //case WarmingUp: CalculateWarmUpSteps(); // 1.0kv, 10ma m_HvTarget += m_HvStep; if(m_HvTarget>m_WorkingHV) m_HvTarget=m_WorkingHV; m_MaTarget += m_MaStep; if(m_MaTarget>m_WorkingMA) m_MaTarget=m_WorkingMA; SetHV(m_HvTarget); SetMA(m_MaTarget); actionStart=getTimerTicks(); m_status=WarmingUp; break; } }
mixed direct_open_obj_with_obj(object target, object tool){ return CanOpen(this_player(), tool); }
mixed direct_open_obj(object target){ return CanOpen(this_player()); }