public StrategySettings(StrategySettings other)
 {
     AllowedTransitions = other.AllowedTransitions;
     Run            = other.Run;
     Reset          = other.Reset;
     PreferredSpeed = other.PreferredSpeed;
     PreferredManeuverSecondDistance = other.PreferredManeuverSecondDistance;
     PartialUpdate         = other.PartialUpdate;
     VersionNumber         = other.VersionNumber;
     CustomTransitionQueue = new List <StateTransition>(other.CustomTransitionQueue);
 }
        public void SetParameters(StrategySettings other)
        {
            if (other.VersionNumber < VersionNumber)
            {
                return;
            }

            if (!other.PartialUpdate)
            {
                AllowedTransitions = other.AllowedTransitions;
                Reset          = other.Reset;
                Run            = other.Run;
                PreferredSpeed = other.PreferredSpeed;
                PreferredManeuverSecondDistance = other.PreferredManeuverSecondDistance;
            }

            CustomTransitionQueue = new List <StateTransition>(other.CustomTransitionQueue);
            VersionNumber         = other.VersionNumber;
        }