![]() |
ArnieBoids
1.0.0
JOINT AI PROJECT
|
Base Ship class. Abstract class that inherits from sf::ConvexShape. Contains members common to all ships. More...
#include <Ship.hpp>


Public Member Functions | |
| Ship (thor::ParticleSystem &particleSystem, sf::Vector2f const &position, float maxSpeed, unsigned int health=1u) | |
| ~Ship () | |
| virtual void | update () |
| Hides sf::Shape::update() More... | |
| virtual void | onCollide (Ship *other)=0 |
| 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 |
Public Attributes | |
| sf::RectangleShape | debug_rect_ |
Protected Member Functions | |
| 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 | |
| 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_ |
Private Attributes | |
| thor::Connection | connection_ |
| The ship's connection to the Game's particle system. More... | |
Base Ship class. Abstract class that inherits from sf::ConvexShape. Contains members common to all ships.
| Ship::Ship | ( | thor::ParticleSystem & | particleSystem, |
| sf::Vector2f const & | position, | ||
| float | maxSpeed, | ||
| unsigned int | health = 1u |
||
| ) |
| Ship::~Ship | ( | ) |
| void Ship::addHealth | ( | unsigned int | health | ) |

| void Ship::brake | ( | ) |
Apply deceleration if thrust is present.

|
protected |
Clamps the length of the velocity_ vector to MAX_SPEED_.

| sf::Vector2f Ship::getForward | ( | ) | const |
Returns forward direction of ship.

| int Ship::getHealth | ( | ) | const |
Health accessors.

| unsigned int Ship::getMaxHealth | ( | ) | const |

| float Ship::getRadarRange | ( | ) | const |

| sf::Vector2f Ship::getVelocity | ( | ) | const |
Returns velocity.

| bool Ship::isDead | ( | ) | const |
Returns true if health is zero.
|
pure virtual |
Implemented in Mothership, Asteroid, SwarmBoid, Player, and Predator.
| void Ship::setRadarRange | ( | float | range | ) |
Radar radius accessors.
| void Ship::takeDamage | ( | unsigned int | amount = 1u | ) |
Reduces health by the specified amount.

| void Ship::thrust | ( | ) |
Apply acceleration in direction of forward vector.

|
protected |
Ticks to seconds.

| bool Ship::trigger | ( | ) |
Attempt to fire, returns success.

| void Ship::turnLeft | ( | ) |
Turn ship left.

| void Ship::turnRight | ( | ) |
Turn ship right.

| void Ship::turnToward | ( | sf::Vector2f const & | direction | ) |
Turns toward a given direction


|
virtual |
Hides sf::Shape::update()
Reimplemented in Mothership, Asteroid, SwarmBoid, Player, and Predator.


|
protectedvirtual |
|
protected |
Delta velocity after update !velocity_ += accel_ in update!
|
private |
The ship's connection to the Game's particle system.
|
protected |
| sf::RectangleShape Ship::debug_rect_ |
|
protected |
Unit vector for ship's heading.
|
protected |
Current health.
|
protected |
|
protected |
Maximum length of velocity vector.
|
protected |
|
protected |
Does nothing on it's own. Derived classes should play with this.
|
protected |
Ship's radar radius.
|
protected |
|
protected |
How fast the ship accelerates.
|
protected |
|
protected |
How fast (in degrees) the ship can turn.
|
protected |
Delta position per update.