Esempio n. 1
0
 public CellMapTileSelector(ICellMatcher matchers,
                            IMapNavigator <GridDirection> gridNavigator,
                            ITileRegistryEx <CellMapTileSelectorKey, TRenderTile> registry,
                            string prefix,
                            Func <int, int, TContext> contextProvider = null)
 {
     this.matchers        = matchers ?? throw new ArgumentNullException();
     this.gridNavigator   = gridNavigator;
     this.registry        = registry;
     this.prefix          = prefix;
     this.contextProvider = contextProvider ?? DefaultContextProvider;
     Prepare(out tiles, out tileExists);
 }
Esempio n. 2
0
        public CornerCellSelector(ICellMatcher matchers,
                                  GridMatcher selfMatcher,
                                  IMapNavigator <GridDirection> gridNavigator,
                                  ITileRegistryEx <CellMapTileSelectorKey, TRenderTile> registry,
                                  string prefix,
                                  Func <int, int, TContext> contextProvider = null)
        {
            this.registry    = registry;
            this.prefix      = prefix;
            this.selfMatcher = selfMatcher ?? throw new ArgumentNullException(nameof(selfMatcher));

            Matchers             = matchers ?? throw new ArgumentNullException();
            GridNavigator        = gridNavigator;
            this.contextProvider = contextProvider ?? DefaultContextProvider;

            directionTileTagSelection = TileTagEntries.CreateDirectionTagEntries();
            selectors = PrepareSelectors();
            Prepare(out tiles, out tileExists);
        }