//Constructors public ChaseOrFleeBehaviour(AutonomousEntity host, EntityManager.EntityType targetOrThreat, float steeringForce, float detectionDistance) : base(host) { this.targetOrThreat = targetOrThreat; this.steeringForce = steeringForce; this.detectionDistance = detectionDistance; }
/*Projectile*/ public static void CreateProjectile(EntityManager.EntityType targetType, Vector2 startPosition, Vector2 startHeading) { //creating entity Texture2D projectileTexture = MainGame.Instance.Content.Load<Texture2D>(PROJECTILE_TEXTURE_NAME); AutonomousEntity projectile = new AutonomousEntity(EntityManager.EntityType.Projectile, projectileTexture, PROJECTILE_WRAPS_AROUND) { Position = startPosition, Heading = startHeading, Velocity = startHeading * PROJECTILE_START_VELOCITY }; //adding behaviour new ConstantPropulsion(projectile, PROJECTILE_PROPULSION); new ChaseSteering(projectile, targetType, PROJECTILE_STEER_FORCE, PROJECTILE_DETECTION_DISTANCE); new KillBehaviour(projectile, targetType); }
//Constructors public InputSteeringBehaviour(AutonomousEntity host) : base(host) { }
//Constructors public AutonomousBehaviour(AutonomousEntity host) : base(host) { }
//Constructors public Flee(AutonomousEntity host, EntityManager.EntityType threat, float steeringForce, float detectionDistance) : base(host, threat, steeringForce, detectionDistance) { }
//Constructors public ConstantPropulsion(AutonomousEntity host, float force) : base(host) { this.force = force; }
//Constructors public Wandering(AutonomousEntity host, float maxForce) : base(host) { this.maxForce = maxForce; this.randomGenerator = new Random(); }
//Constructors public ChaseSteering(AutonomousEntity host, EntityManager.EntityType targetType, float steeringForce, float detectionDistance) : base(host, targetType, steeringForce, detectionDistance) { }