public override bool Load(ConfigNode configNode) { // Load base class bool valid = base.Load(configNode); valid &= ConfigNodeUtil.ParseValue<ChangeVesselOwnership.State>(configNode, "onState", x => onState = x, this, ChangeVesselOwnership.State.ParameterCompleted); valid &= ConfigNodeUtil.ParseValue<bool?>(configNode, "owned", x => owned = x.Value, this, (bool?)true); valid &= ConfigNodeUtil.ParseValue<List<string>>(configNode, "vessel", x => vessels = x, this); valid &= ConfigNodeUtil.ParseValue<List<string>>(configNode, "parameter", x => parameter = x, this, new List<string>()); return valid; }
public override bool Load(ConfigNode configNode) { // Load base class bool valid = base.Load(configNode); if (configNode.HasValue("onState")) { try { Enum.Parse(typeof(TriggeredBehaviour.LegacyState), configNode.GetValue("onState")); LoggingUtil.LogWarning(this, "Warning, values for onState have changed - attempting to load using obsolete values."); valid &= ConfigNodeUtil.ParseValue <TriggeredBehaviour.LegacyState>(configNode, "onState", x => { switch (x) { case TriggeredBehaviour.LegacyState.ContractAccepted: onState = TriggeredBehaviour.State.CONTRACT_ACCEPTED; break; case TriggeredBehaviour.LegacyState.ContractCompletedFailure: onState = TriggeredBehaviour.State.CONTRACT_FAILED; break; case TriggeredBehaviour.LegacyState.ContractCompletedSuccess: onState = TriggeredBehaviour.State.CONTRACT_SUCCESS; break; case TriggeredBehaviour.LegacyState.ParameterCompleted: onState = TriggeredBehaviour.State.PARAMETER_COMPLETED; break; } }, this); } catch { valid &= ConfigNodeUtil.ParseValue <TriggeredBehaviour.State>(configNode, "onState", x => onState = x, this, TriggeredBehaviour.State.PARAMETER_COMPLETED); } } else { valid &= ConfigNodeUtil.ParseValue <TriggeredBehaviour.State>(configNode, "onState", x => onState = x, this, TriggeredBehaviour.State.PARAMETER_COMPLETED); } valid &= ConfigNodeUtil.ParseValue <bool?>(configNode, "owned", x => owned = x.Value, this, (bool?)true); valid &= ConfigNodeUtil.ParseValue <List <string> >(configNode, "vessel", x => vessels = x, this); if (onState == TriggeredBehaviour.State.PARAMETER_COMPLETED || onState == TriggeredBehaviour.State.PARAMETER_FAILED) { valid &= ConfigNodeUtil.ParseValue <List <string> >(configNode, "parameter", x => parameter = x, this, new List <string>()); } return(valid); }
public override bool Load(ConfigNode configNode) { // Load base class bool valid = base.Load(configNode); if (configNode.HasValue("onState")) { try { Enum.Parse(typeof(TriggeredBehaviour.LegacyState), configNode.GetValue("onState")); LoggingUtil.LogWarning(this, "Warning, values for onState have changed - attempting to load using obsolete values."); valid &= ConfigNodeUtil.ParseValue<TriggeredBehaviour.LegacyState>(configNode, "onState", x => { switch (x) { case TriggeredBehaviour.LegacyState.ContractAccepted: onState = TriggeredBehaviour.State.CONTRACT_ACCEPTED; break; case TriggeredBehaviour.LegacyState.ContractCompletedFailure: onState = TriggeredBehaviour.State.CONTRACT_FAILED; break; case TriggeredBehaviour.LegacyState.ContractCompletedSuccess: onState = TriggeredBehaviour.State.CONTRACT_SUCCESS; break; case TriggeredBehaviour.LegacyState.ParameterCompleted: onState = TriggeredBehaviour.State.PARAMETER_COMPLETED; break; } }, this); } catch { valid &= ConfigNodeUtil.ParseValue<TriggeredBehaviour.State>(configNode, "onState", x => onState = x, this, TriggeredBehaviour.State.PARAMETER_COMPLETED); } } else { valid &= ConfigNodeUtil.ParseValue<TriggeredBehaviour.State>(configNode, "onState", x => onState = x, this, TriggeredBehaviour.State.PARAMETER_COMPLETED); } valid &= ConfigNodeUtil.ParseValue<bool?>(configNode, "owned", x => owned = x.Value, this, (bool?)true); valid &= ConfigNodeUtil.ParseValue<List<string>>(configNode, "vessel", x => vessels = x, this); if (onState == TriggeredBehaviour.State.PARAMETER_COMPLETED || onState == TriggeredBehaviour.State.PARAMETER_FAILED) { valid &= ConfigNodeUtil.ParseValue<List<string>>(configNode, "parameter", x => parameter = x, this, new List<string>()); } return valid; }