public void Execute(params string[] parms) { Console.WriteLine("Benchmark: BehaviorModel.Instantiate"); // generate an array of random behavior models var rnd = new Random(); var cardModels = Program.CardFactory.CardModels; Behaviors.IBehaviorModel[] bhvModels = new Behaviors.IBehaviorModel[1000]; for (int i = 0; i < bhvModels.Length; ++i) { var bhvlist = cardModels[rnd.Next(cardModels.Count)].Behaviors; bhvModels[i] = bhvlist[rnd.Next(bhvlist.Count)]; } Behaviors.IBehavior[] bhvs = new Behaviors.IBehavior[bhvModels.Length]; long start, end, freq; QueryPerformanceFrequency(out freq); QueryPerformanceCounter(out start); for (int i = 0; i < bhvModels.Length; ++i) { bhvs[i] = bhvModels[i].CreateInitialized(); } QueryPerformanceCounter(out end); Console.WriteLine("Time taken: {0:0.000}ms", (end - start) / (double)freq * 1000.0); }
public virtual T Do(Behaviors.IBehavior behavior) { if (behavior != null) { if (_behaviors == null) { _behaviors = new List <Behaviors.IBehavior>(); } _behaviors.Add(behavior); } return((T)this); }
public AddBehavior(CardInstance target, Behaviors.IBehavior behavior) { if (target == null) { throw new ArgumentNullException("target"); } else if (behavior == null) { throw new ArgumentNullException("behavior"); } Target = target; Behavior = behavior; }