IEnumerator CheckResources()
        {
            double resourceAmtAvailable, maxAmount;
            var    wait = new WaitForSeconds(Common.WAITTIME);

            while (true)
            {
                this.part.GetConnectedResourceTotals((int)resourceId, out resourceAmtAvailable, out maxAmount);
                if (!Deployed)
                {
                    if (ScienceUtil.RequiredUsageInternalAvailable(base.vessel, base.part, (ExperimentUsageReqs)usageReqMaskInternal, experiment, ref usageReqMessage))
                    {
                        Actions["DeployAction"].active = Events["DeployExperiment"].guiActive = (ResourceAmtUsedForDeploy <= resourceAmtAvailable);
                        //Logg.Info("Setting DeployAction & DeployExperiment");
                    }
                    if (ScienceUtil.RequiredUsageExternalAvailable(base.vessel, FlightGlobals.ActiveVessel, (ExperimentUsageReqs)usageReqMaskExternal, experiment, ref usageReqMessage))
                    {
                        Events["DeployExperimentExternal"].guiActive = (ResourceAmtUsedForDeploy <= resourceAmtAvailable);
                        //Logg.Info("Setting DeployExperimentExternal");
                    }
                }
                yield return(wait);
            }
        }