//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)
 {
 }