예제 #1
0
        public void DisplayFearCardConstructor(int terrorLevel)
        {
            List <IFearOptions> fearCards = new List <IFearOptions>();

            fearCards.AddRange(SpiritIsland.Basegame.FearCards.GetFearCards());
            fearCards.AddRange(SpiritIsland.BranchAndClaw.FearCards.GetFearCards());

            foreach (var c in fearCards)
            {
                // string fearCard = c.GetType().Name; // capture which card it is before the exception
                _ = new ActivatedFearCard(c, terrorLevel);
            }
        }
예제 #2
0
        public Image GetImage(ActivatedFearCard card)
        {
            string name = card.Name;

            string ns = card.FearOptions.GetType().Namespace;

            if (!images.ContainsKey(name))
            {
                string edition = ns switch {
                    "SpiritIsland.Basegame" => "basegame",
                    "SpiritIsland.BranchAndClaw" => "bac",
                    "SpiritIsland.JaggedEarth" => "je",
                    _ => throw new ArgumentException($"Namespace {ns} not mapped to a fear folder")
                };
                string name2 = GetFileName(name, edition);
                Image  image = Image.FromFile(name2);
                images.Add(name, image);
            }
            return(images[name]);
        }