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) )); }
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]); } }