Example #1
0
 public static CardinalTileSelectorKey AsCardinalKey(this CardinalFlags flag)
 {
     return(CardinalTileSelectorKey.ValueOf(flag.HasFlag(CardinalFlags.North),
                                            flag.HasFlag(CardinalFlags.East),
                                            flag.HasFlag(CardinalFlags.South),
                                            flag.HasFlag(CardinalFlags.West)
                                            ));
 }
Example #2
0
        protected void PrecomputeTags(string prefix,
                                      ITileRegistryEx <CardinalTileSelectorKey, TRenderTile> registry,
                                      out TRenderTile[] preparedTags,
                                      out bool[] tagExists)
        {
            preparedTags = new TRenderTile[16];
            tagExists    = new bool[16];
            for (var idx = 0; idx < 16; idx += 1)
            {
                var n = (idx & 1) != 0;
                var e = (idx & 2) != 0;
                var s = (idx & 4) != 0;
                var w = (idx & 8) != 0;

                tagExists[idx] = registry.TryFind(prefix, CardinalTileSelectorKey.ValueOf(n, e, s, w),
                                                  out preparedTags[idx]);
            }
        }