![]()  | 
  
    ArnieBoids
    1.0.0
    
   JOINT AI PROJECT 
   | 
 
#include <SwarmBoid.hpp>


Public Member Functions | |
| SwarmBoid (thor::ParticleSystem &particleSystem, sf::Vector2f position) | |
| ~SwarmBoid () | |
| void | update () override | 
| Calls swarm()  More... | |
| void | onCollide (Ship *other) override | 
| Takes one damage if other is the Player.  More... | |
  Public Member Functions inherited from Ship | |
| Ship (thor::ParticleSystem &particleSystem, sf::Vector2f const &position, float maxSpeed, unsigned int health=1u) | |
| ~Ship () | |
| void | takeDamage (unsigned int amount=1u) | 
| Reduces health by the specified amount.  More... | |
| bool | isDead () const | 
| Returns true if health is zero.  More... | |
| void | thrust () | 
| Apply acceleration in direction of forward vector.  More... | |
| void | brake () | 
| Apply deceleration if thrust is present.  More... | |
| void | turnLeft () | 
| Turn ship left.  More... | |
| void | turnRight () | 
| Turn ship right.  More... | |
| bool | trigger () | 
| Attempt to fire, returns success.  More... | |
| void | turnToward (sf::Vector2f const &direction) | 
| sf::Vector2f | getForward () const | 
| Returns forward direction of ship.  More... | |
| sf::Vector2f | getVelocity () const | 
| Returns velocity.  More... | |
| void | setRadarRange (float range) | 
| Radar radius accessors.  More... | |
| float | getRadarRange () const | 
| int | getHealth () const | 
| Health accessors.  More... | |
| void | addHealth (unsigned int health) | 
| unsigned int | getMaxHealth () const | 
Static Public Member Functions | |
| static void | setSwarmTarget (Ship *target) | 
| Sets the target for all swarm boids. They will tend toward this target.  More... | |
Private Member Functions | |
| void | swarm () | 
| sf::Vector2f | LenardJonesPotential (const Ship *const other, int &count) const | 
| sf::Vector2f | extrapolate (sf::Vector2f const &position, sf::Vector2f const &direction, float distance) const | 
Static Private Attributes | |
| static std::list< SwarmBoid * > | swarm_ = std::list<SwarmBoid*>() | 
| A list of all swarm boids. Boids add themselves in the ctor and remove themselves in the dtor.  More... | |
| static Ship * | swarmTarget_ = nullptr | 
| The ship that the swarm will tend toward, if any.  More... | |
| static float | swarmThresholdRadius_ = 200.f | 
| How close boids need to be before they will swarm with eachother.  More... | |
Additional Inherited Members | |
  Public Attributes inherited from Ship | |
| sf::RectangleShape | debug_rect_ | 
  Protected Member Functions inherited from Ship | |
| void | clampToMaxSpeed () | 
| Clamps the length of the velocity_ vector to MAX_SPEED_.  More... | |
| float | tickToSec (unsigned int ticks) const | 
| Ticks to seconds.  More... | |
| virtual void | updateParticleEmitter () | 
  Protected Attributes inherited from Ship | |
| const float | MAX_SPEED_ | 
| Maximum length of velocity vector.  More... | |
| const unsigned int | MAX_HEALTH_ | 
| float | refireTime_ | 
| float | coolDown_ | 
| unsigned int | ticks_ | 
| sf::Vector2f | velocity_ | 
| Delta position per update.  More... | |
| sf::Vector2f | accel_ | 
| Delta velocity after update !velocity_ += accel_ in update!  More... | |
| int | health_ | 
| Current health.  More... | |
| sf::Vector2f | forward_ | 
| Unit vector for ship's heading.  More... | |
| float | thrust_ | 
| How fast the ship accelerates.  More... | |
| float | turnSpeed_ | 
| How fast (in degrees) the ship can turn.  More... | |
| float | radarRange_ | 
| Ship's radar radius.  More... | |
| thor::UniversalEmitter | particleEmitter_ | 
| Does nothing on it's own. Derived classes should play with this.  More... | |
| float | particleAngleVariance_ | 
| SwarmBoid::SwarmBoid | ( | thor::ParticleSystem & | particleSystem, | 
| sf::Vector2f | position | ||
| ) | 
| SwarmBoid::~SwarmBoid | ( | ) | 
      
  | 
  private | 

      
  | 
  private | 


      
  | 
  overridevirtual | 
      
  | 
  static | 
Sets the target for all swarm boids. They will tend toward this target.

      
  | 
  private | 


      
  | 
  overridevirtual | 
A list of all swarm boids. Boids add themselves in the ctor and remove themselves in the dtor.
      
  | 
  staticprivate | 
The ship that the swarm will tend toward, if any.
      
  | 
  staticprivate | 
How close boids need to be before they will swarm with eachother.