Пример #1
0
 public static Action <Hero> Create(GameObject stone)
 {
     return(hero =>
     {
         stone.RemoveFromContainer();
         var sharpStone = new SharpStone();
         Game.AddToGame(hero, sharpStone);
     });
 }
Пример #2
0
        public static Action <Hero> CreateIfKnowledge(GameObject stone)
        {
            return(hero =>
            {
                stone.RemoveFromContainer();

                Consequance.ProbabilityOrElse(
                    hero.GetKnowledge(Knowledges.CreateSharpStone),
                    Consequance.Composite(
                        heroInner =>
                {
                    var sharpStone = new SharpStone();
                    Game.AddToGame(heroInner, sharpStone);
                },
                        Consequance.AddKnowledge(Knowledges.CreateSharpStone, 10)),
                    Consequance.AddKnowledge(Knowledges.CreateSharpStone, 5))(hero);
            });
        }