public static Action <Hero> Create(GameObject stone) { return(hero => { stone.RemoveFromContainer(); var sharpStone = new SharpStone(); Game.AddToGame(hero, sharpStone); }); }
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); }); }