public override bool Load(ConfigNode configNode)
        {
            // Load base class
            bool valid = base.Load(configNode);

            // Get duration
            valid &= ConfigNodeUtil.ParseValue<MissionTimer.StartCriteria>(configNode, "startCriteria", x => startCriteria = x, this, MissionTimer.StartCriteria.CONTRACT_ACCEPTANCE);
            if (startCriteria == MissionTimer.StartCriteria.PARAMETER_COMPLETION)
            {
                valid &= ConfigNodeUtil.ParseValue<string>(configNode, "startParameter", x => startParameter = x, this);
            }
            valid &= ConfigNodeUtil.ParseValue<MissionTimer.EndCriteria>(configNode, "endCriteria", x => endCriteria = x, this, MissionTimer.EndCriteria.CONTRACT_COMPLETION);
            if (endCriteria == MissionTimer.EndCriteria.PARAMETER_COMPLETION)
            {
                valid &= ConfigNodeUtil.ParseValue<string>(configNode, "endParameter", x => endParameter = x, this);
            }

            return valid;
        }
        public override bool Load(ConfigNode configNode)
        {
            // Load base class
            bool valid = base.Load(configNode);

            // Get criteria
            valid &= ConfigNodeUtil.ParseValue <MissionTimer.StartCriteria>(configNode, "startCriteria", x => startCriteria = x, this, MissionTimer.StartCriteria.CONTRACT_ACCEPTANCE);
            if (startCriteria == MissionTimer.StartCriteria.PARAMETER_COMPLETION)
            {
                valid &= ConfigNodeUtil.ParseValue <string>(configNode, "startParameter", x => startParameter = x, this);
            }
            valid &= ConfigNodeUtil.ParseValue <MissionTimer.EndCriteria>(configNode, "endCriteria", x => endCriteria = x, this, MissionTimer.EndCriteria.CONTRACT_COMPLETION);
            if (endCriteria == MissionTimer.EndCriteria.PARAMETER_COMPLETION)
            {
                valid &= ConfigNodeUtil.ParseValue <string>(configNode, "endParameter", x => endParameter = x, this);
            }

            return(valid);
        }