コード例 #1
0
        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);
        }
コード例 #2
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);
 }
コード例 #3
0
ファイル: AddBehavior.cs プロジェクト: galaxyyao/TouhouGrave
        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;
        }