public MapDataStore(IMapDataProvider mapDataProvider, IPathResolver pathResolver, ITrace trace) { _mapDataProvider = mapDataProvider; _mapDataLoader = new MapDataLoader(pathResolver, trace); _pathResolver = pathResolver; _trace = trace; _mapDataProvider .ObserveOn(Scheduler.ThreadPool) .Subscribe(value => { // we have map data in store. if (String.IsNullOrEmpty(value.Item2)) { _mapDataLoader.OnNext(value.Item1); } else { Add(_mapDataStorageType, value.Item2, value.Item1.Stylesheet, value.Item1.QuadKey) .Subscribe(progress => { }, () => _mapDataLoader.OnNext(value.Item1)); } }); _mapDataLoader.Subscribe <MapData>(u => _dataObservers.ForEach(o => o.OnNext(u))); _mapDataLoader.Subscribe <Tile>(t => _tileObservers.ForEach(o => o.OnNext(t))); }
public override IAction CreateAction(IRobot item, IMapDataProvider mapDataProvider, string actionParameters) { var parameters = actionParameters.Split(','); parameters.ToList().ForEach(p => p.Trim()); if (parameters.Length != 3) { return(null); } int latitude; if (!int.TryParse(parameters[0], out latitude)) { return(null); } int longitude; if (!int.TryParse(parameters[1], out longitude)) { return(null); } Direction?direction = parameters[2].ToEnum <Direction>(); if (direction == null) { return(null); } var position = new BidimensionalPoint(latitude, longitude); return(new PlaceAction(item, mapDataProvider, position, (Direction)direction)); }
public MapGenerator(IMapDataProvider dataProvider) { //var _dataProvider = (MapDataProvider)dataProvider; _mapGenerationInput = dataProvider.GetMapGenerationData(); generatedMap = GenerateMap(); }
public DataProvider(IMapDataLibrary mapDataLibrary, IMapDataProvider osmMapDataProvider, IMapDataProvider mapzenMapDataProvider) { _osmMapDataProvider = osmMapDataProvider; _mapzenMapDataProvider = mapzenMapDataProvider; _mapDataLibrary = mapDataLibrary; }
public Pathfinder(Map map, IMapDataProvider mapDataProvider, bool throughEntities = true, bool useLogNodeSearch = false) { m_map = map; m_mapDataProvider = mapDataProvider; m_throughEntities = throughEntities; // the dofus client use a bad linear algorithm to find the closest node. // if we use an other sort method the result may be different m_useLogNodeSearch = useLogNodeSearch; }
public AggregateMapDataProvider(IFileSystemService fileSystemService, INetworkService networkService, ITrace trace) { _eleProvider = new ElevationProvider( new MapzenElevationDataProvider(fileSystemService, networkService, trace), new SrtmElevationDataProvider(fileSystemService, networkService, trace)); _dataProvider = new DataProvider( new OpenStreetMapDataProvider(fileSystemService, networkService, trace), new MapzenMapDataProvider(fileSystemService, networkService, trace)); }
public MapDataStore(IMapDataProvider mapDataProvider, IMapDataLibrary mapDataLibrary) { _mapDataProvider = mapDataProvider; _mapDataLibrary = mapDataLibrary; _mapDataProvider .ObserveOn(Scheduler.ThreadPool) .Subscribe(value => { // we have map data in store. if (String.IsNullOrEmpty(value.Item2)) { _mapDataLibrary.Get(value.Item1, _dataObservers); } else { Add(_mapDataStorageType, value.Item2, value.Item1.Stylesheet, value.Item1.QuadKey) .Subscribe(progress => { }, () => _mapDataLibrary.Get(value.Item1, _dataObservers)); } }); }
public MapDataStore(IMapDataProvider mapDataProvider, IMapDataLibrary mapDataLibrary) { _mapDataLibrary = mapDataLibrary; _mapDataProvider = mapDataProvider; _mapDataProvider .ObserveOn(Scheduler.ThreadPool) .Subscribe(value => { // We have map data in store. if (String.IsNullOrEmpty(value.Item2)) { _mapDataLibrary .Get(value.Item1, _dataObservers) .Subscribe(_ => _tileObservers.ForEach(t => t.OnNext(value.Item1))); } else { // NOTE store data in the first registered store AddTo(_storageKeys.First(), value.Item2, value.Item1.Stylesheet, value.Item1.QuadKey, value.Item1.CancelationToken) .Subscribe(progress => { }, () => _mapDataLibrary.Get(value.Item1, _dataObservers)); } }); }
public ReportAction(IRobot item, IMapDataProvider mapDataProvider, IReporter reporter) : base(item, mapDataProvider) { _reporter = reporter; }
public override IAction CreateAction(IRobot item, IMapDataProvider mapDataProvider, string actionParameters) { return(new RotateAction(item, mapDataProvider, RotateDirection.Right)); }
public MapDataLoader(IMapDataProvider mapDataProvider, IPathResolver pathResolver) { _mapDataProvider = mapDataProvider; _pathResolver = pathResolver; }
public DataProvider(IMapDataProvider osmMapDataProvider, IMapDataProvider mapzenMapDataProvider) { _osmMapDataProvider = osmMapDataProvider; _mapzenMapDataProvider = mapzenMapDataProvider; }
public DebugMapGenerator(IMapDataProvider debugMapDataProvider, DebugSectionBuilder debugSectionBuilder) { _mapData = debugMapDataProvider.GetMapGenerationData(); _debugSectionBuilder = debugSectionBuilder; }
public ElevationProvider(IMapDataProvider mapzenEleProvider, IMapDataProvider srtmEleProvider) { _mapzenEleProvider = mapzenEleProvider; _srtmEleProvider = srtmEleProvider; }
public abstract IAction CreateAction(IRobot item, IMapDataProvider mapDataProvider, string actionParameters);
public ActionManager(IRobot item, IMapDataProvider mapDataProvider) { Item = item; MapDataProvider = mapDataProvider; ActionsData = new Dictionary <string, BaseActionCreator>(); }
/// <summary> /// Constructor for <see cref="BaseAction"/> /// </summary> /// <param name="item">item to do action on</param> /// <param name="mapDataProvider">map to do action on</param> protected BaseAction(IRobot item, IMapDataProvider mapDataProvider) { Item = item; MapDataProvider = mapDataProvider; item.OnPositionChange = IsPositionValid; }
public MoveAction(IRobot item, IMapDataProvider mapDataProvider) : base(item, mapDataProvider) { }
public RotateAction(IRobot item, IMapDataProvider mapDataProvider, RotateDirection rotateDirection) : base(item, mapDataProvider) { RotateDirection = rotateDirection; }
public override IAction CreateAction(IRobot item, IMapDataProvider mapDataProvider, string actionParameters) { return(new ReportAction(item, mapDataProvider, new OutputReporter())); }
public PlaceAction(IRobot item, IMapDataProvider mapDataProvider, IPosition position, Direction direction) : base(item, mapDataProvider) { _newPosition = position; _newDirection = direction; }
public override IAction CreateAction(IRobot item, IMapDataProvider mapDataProvider, string actionParameters) { return(new MoveAction(item, mapDataProvider)); }