Exemplo n.º 1
0
        public static ClientAnimatedCellBitmapSet GetAnimatedCellBitmapSetIdFor(
            IReadOnlyZoneInfo zoneInfo,
            Func <AnimatedCellBitmapSetLayers, AnimatedCellBitmapSet> bitmapSelector)
        {
            var result = TextureAtlas.TilesetAccessor.TryGetBitmapFor(snapShot: zoneInfo.TakeSnapshot(), includeNoElectricity: true);

            if (result.HasNoMatch)
            {
                return(default(ClientAnimatedCellBitmapSet));
            }

            var animatedCellBitmapSet = bitmapSelector(result.MatchingObject);

            if (animatedCellBitmapSet == null)
            {
                return(default(ClientAnimatedCellBitmapSet));
            }

            return(new ClientAnimatedCellBitmapSet(
                       animatedCellBitmapSet.Id,
                       animatedCellBitmapSet.Delay,
                       animatedCellBitmapSet.Bitmaps.Select(x => x.Id).ToArray()));
        }