Beispiel #1
0
        private void SetWaypointStrategy(WaypointVisitStrategyType visitStrategyType, bool logChanges)
        {
            if ((_visitStrategy == null) || (visitStrategyType != _visitStrategy.VisitStrategyType))
            {
                _visitStrategy = GetVisitStrategyFromType(visitStrategyType);

                if (_visitStrategy != null && logChanges)
                {
                    QBCLog.DeveloperInfo("WaypointVisitStrategy set to {0}", _visitStrategy.VisitStrategyType);
                }

                // Strategy change requires current waypoint re-evaluation...
                ResetWaypoints();
            }
        }
Beispiel #2
0
        private IVisitStrategy GetVisitStrategyFromType(WaypointVisitStrategyType visitStrategyType)
        {
            IVisitStrategy visitStrategy = null;

            if (visitStrategyType == WaypointVisitStrategyType.InOrder)
            {
                visitStrategy = new VisitStrategy_InOrder();
            }
            else if (visitStrategyType == WaypointVisitStrategyType.PickOneAtRandom)
            {
                visitStrategy = new VisitStrategy_PickOneAtRandom();
            }
            else if (visitStrategyType == WaypointVisitStrategyType.Random)
            {
                visitStrategy = new VisitStrategy_Random();
            }
            else
            {
                QBCLog.MaintenanceError("Unhandled WaypointVisitStrategy({0})", visitStrategyType);
            }
            return(visitStrategy);
        }
Beispiel #3
0
 protected IVisitStrategy(WaypointVisitStrategyType visitStrategyType)
 {
     VisitStrategyType = visitStrategyType;
 }