Пример #1
0
        public Loot GetByKind(Spells.SpellKind kind)
        {
            var tile = factory.FirstOrDefault(i => Scroll.DiscoverKindFromName(i.Key) == kind);

            if (tile.Key != null)
            {
                return(tile.Value(tile.Key));
            }

            return(null);
        }
Пример #2
0
        protected override void Create()
        {
            Func <string, Scroll> createScroll = (string tag) =>
            {
                var scroll = new Scroll();
                scroll.tag1  = tag;
                scroll.Kind  = Scroll.DiscoverKindFromName(tag);
                scroll.Count = Enumerable.Range(1, 3).ToList().GetRandomElem();
                return(scroll);
            };
            var names = new[] { "fire_ball_scroll", "ice_ball_scroll", "poison_ball_scroll",
                                "identify_scroll", "teleport_scroll", "portal_scroll", "transform_scroll", "mana_shield_scroll",
                                "rage_scroll", "skeleton_scroll" };

            foreach (var name in names)
            {
                factory[name] = createScroll;
            }
        }
Пример #3
0
        protected override void Create()
        {
            Func <string, Book> createBook = (string tag) =>
            {
                var book = new Book();
                book.tag1 = tag;
                book.Kind = Scroll.DiscoverKindFromName(tag);
                //scroll.Count = Enumerable.Range(1, 3).ToList().GetRandomElem();
                return(book);
            };
            var names = new[] { "fire_ball_book", "ice_ball_book", "poison_ball_book",
                                "identify_book", "portal_book", "mana_shield_book", "skeleton_book"
                                //"teleport_scroll" "transform_scroll"
            };

            foreach (var name in names)
            {
                factory[name] = createBook;
            }
        }
Пример #4
0
        public void ScrollFromTagName()
        {
            var kind = Scroll.DiscoverKindFromName("fire_ball_scroll");

            Assert.AreEqual(kind, SpellKind.FireBall);
        }