public EnemyBehaviourFactory(EnemyBrain brain,
                              ISimulationEngine simulationEngine,
                              IWorldLocator worldLocator,
                              TraderPart.IItemFactory itemFactory,
                              Random random,
                              IPositionComponent physical)
 {
     this.Brain       = brain;
     SimulationEngine = simulationEngine;
     WorldLocator     = worldLocator;
     ItemFactory      = itemFactory;
     Random           = random;
     Physical         = physical;
 }
 /// <summary>
 /// Note: replace physical with a moveto delegate?(Action{Vector3})
 /// </summary>
 /// <param name="brain"></param>
 /// <param name="engine"></param>
 /// <param name="ph"></param>
 public MoveToDestinationBehaviour(EnemyBrain brain, ISimulationEngine engine, IPositionComponent ph)
 {
     this.brain  = brain;
     this.engine = engine;
     this.ph     = ph;
 }
 public FindClosestResourceBehaviour(EnemyBrain brain, IWorldLocator locator, float range)
 {
     this.brain   = brain;
     this.locator = locator;
     this.range   = range;
 }
        private float lastShotTime = -1; // NOTE: THIS IS NOT IN THE DATA CLASSES!

        public ShootBehaviour(EnemyBrain brain, ISimulationEngine simulationEngine)
        {
            this.brain            = brain;
            this.simulationEngine = simulationEngine;
        }
예제 #5
0
 /// <summary>
 /// Note: replace physical with a moveto delegate?(Action{Vector3})
 /// </summary>
 /// <param name="brain"></param>
 /// <param name="itemFactory"></param>
 public PickupTargetItemBehaviour(EnemyBrain brain, TraderPart.IItemFactory itemFactory)
 {
     this.brain       = brain;
     this.itemFactory = itemFactory;
 }
 public FindTargetBehaviour(EnemyBrain brain, IWorldLocator locator)
 {
     this.brain   = brain;
     this.locator = locator;
 }