aa6df65e97
Also created Rectangle/Circle subclasses for sprite to handle collision detection and moved collision detection from World to CollisionModel (static methods).
30 lines
613 B
C++
30 lines
613 B
C++
/*
|
|
* Circle.h
|
|
*
|
|
* Created on: 04.05.2013
|
|
* Author: Felix
|
|
*/
|
|
|
|
#ifndef DG_CIRCLE_H_
|
|
#define DG_CIRCLE_H_
|
|
|
|
#include "CollisionModel.h"
|
|
#include "Sprite.h"
|
|
|
|
class Yaml;
|
|
|
|
/**
|
|
* Shape that uses a circle as collision model.
|
|
*/
|
|
class Circle : public CollisionModel, public Sprite {
|
|
public:
|
|
explicit Circle(const sf::Vector2f& position, Category category,
|
|
unsigned short mask, const Yaml& config,
|
|
const sf::Vector2f& direction = sf::Vector2f(0, 0));
|
|
virtual ~Circle() = default;
|
|
|
|
bool testCollision(std::shared_ptr<Sprite> other, int elapsed);
|
|
float getRadius() const;
|
|
};
|
|
|
|
#endif /* DG_CIRCLE_H_ */
|