1 #ifndef ROGUELIKE_COMPONENT_SHAPE_H_
2 #define ROGUELIKE_COMPONENT_SHAPE_H_
9 #include <ugdk/math/integer2D.h>
46 virtual const ugdk::math::Integer2D&
PlaceAt(
const ugdk::math::Integer2D& tile) = 0;
47 virtual const ugdk::math::Integer2D&
Move(
const std::list<ugdk::math::Integer2D>& mov) = 0;
48 virtual const ugdk::math::Integer2D&
Step(
const ugdk::math::Integer2D& dir) = 0;
64 #endif // ROGUELIKE_COMPONENT_SHAPE_H_
Definition: gameobject.h:53
double enter_sizeclass() const
Definition: shape.h:40
std::set< ugdk::math::Integer2D > & occupying_tiles()
Definition: shape.h:42
double enter_sizeclass_
Definition: shape.h:55
std::set< ugdk::math::Integer2D > occupying_tiles_
Definition: shape.h:56
double pass_sizeclass() const
Definition: shape.h:39
Shape(game::base::GameObject *owner, double stay_sizeclass=1.0, double pass_sizeclass=0.25, double enter_sizeclass=1.0e-5)
Definition: shape.h:26
void RemoveObject(GameObject *obj)
Definition: gametile.cc:48
action::Aim * aim()
Definition: shape.h:44
void set_stay_sizeclass(double stay_sizeclass)
Definition: shape.h:34
virtual const ugdk::math::Integer2D & PlaceAt(const ugdk::math::Integer2D &tile)=0
static GameController * reference()
Definition: gamecontroller.cc:52
GameTile * Tile(int x, int y) const
Definition: gamecontroller.h:44
Definition: componentbase.h:19
virtual const ugdk::math::Integer2D & Step(const ugdk::math::Integer2D &dir)=0
const std::set< ugdk::math::Integer2D > & occupying_tiles() const
Definition: shape.h:41
virtual ~Shape()
Definition: shape.h:28
game::base::GameObject * owner_
Definition: componentbase.h:25
double pass_sizeclass_
Definition: shape.h:54
void set_pass_sizeclass(double pass_sizeclass)
Definition: shape.h:35
action::Aim * aim_
Definition: shape.h:58
void set_enter_sizeclass(double enter_sizeclass)
Definition: shape.h:36
double stay_sizeclass() const
Definition: shape.h:38
virtual bool TryPlace(const ugdk::math::Integer2D &destination, game::base::GameObject *ignore=0) const =0
virtual const ugdk::math::Integer2D & Move(const std::list< ugdk::math::Integer2D > &mov)=0
double stay_sizeclass_
Definition: shape.h:53