public void Init() { var testBehavior = new TalentsBehavior(null); var warriorAttribute = new WarriorAttribute(); var rogueAttribute = new RogueAttribute(); var mageAttribute = new MageAttribute(); var damageStat = new DamageStat(); var attackStat = new AttackStat(); this.playerThing = new Thing() { Name = "PlayerThing", ID = TestThingID.Generate("testthing") }; playerThing.Behaviors.Add(testBehavior); warriorAttribute.Parent = this.playerThing; playerThing.AddAttribute(warriorAttribute); mageAttribute.Parent = this.playerThing; playerThing.AddAttribute(rogueAttribute); rogueAttribute.Parent = this.playerThing; playerThing.AddAttribute(mageAttribute); warriorAttribute.SetValue(10, playerThing); rogueAttribute.SetValue(10, playerThing); mageAttribute.SetValue(10, playerThing); playerThing.Stats.Add(damageStat.Name, damageStat); playerThing.Stats.Add(attackStat.Name, attackStat); }
public void AddBehaviorBeforeTalentWithRulesParentSetTest() { var testBehavior = new TalentsBehavior(null); var warriorAttribute = new WarriorAttribute(); var rogueAttribute = new RogueAttribute(); var mageAttribute = new MageAttribute(); var damageStat = new DamageStat(); var attackStat = new AttackStat(); warriorAttribute.Parent = this.playerThing; playerThing.AddAttribute(warriorAttribute); mageAttribute.Parent = this.playerThing; playerThing.AddAttribute(rogueAttribute); rogueAttribute.Parent = this.playerThing; playerThing.AddAttribute(mageAttribute); warriorAttribute.SetValue(10, playerThing); rogueAttribute.SetValue(10, playerThing); mageAttribute.SetValue(10, playerThing); playerThing.Stats.Add(damageStat.Name, damageStat); playerThing.Stats.Add(attackStat.Name, attackStat); var testTalent = new ChampionTalent(); playerThing.Behaviors.Add(testBehavior); var behavior = playerThing.Behaviors.FindFirst<TalentsBehavior>(); testBehavior.AddTalent(testTalent); Verify.IsTrue(behavior.ManagedTalents.Contains(testTalent)); Verify.IsNotNull(testTalent.PlayerThing); behavior.RemoveTalent(testTalent); playerThing.Behaviors.Remove(testBehavior); }