167 |
} |
} |
168 |
void removal() { on_removal(); } |
void removal() { on_removal(); } |
169 |
|
|
170 |
virtual bool on_laserhit(Direction d) { return false; } |
virtual bool on_laserhit(Direction /*d*/) { return false; } |
171 |
|
|
172 |
// GridObject interface |
// GridObject interface |
173 |
virtual void actor_enter(Actor *a) {} |
virtual void actor_enter(Actor */*a*/) {} |
174 |
virtual void actor_leave(Actor *a) {} |
virtual void actor_leave(Actor */*a*/) {} |
175 |
|
|
176 |
GridPos get_pos() const { return pos; } |
GridPos get_pos() const { return pos; } |
177 |
void play_sound(const char *name); |
void play_sound(const char *name); |
264 |
|
|
265 |
|
|
266 |
// Floor interface |
// Floor interface |
267 |
virtual px::V2 get_force(Actor *a) |
virtual px::V2 get_force(Actor */*a*/) { return px::V2(); } |
|
{ return px::V2(); } |
|
268 |
|
|
269 |
virtual void on_drop(Item* it) {} |
virtual void on_drop(Item* /*it*/) {} |
270 |
virtual void on_pickup(Item* it) {} |
virtual void on_pickup(Item* /*it*/) {} |
271 |
|
|
272 |
virtual void stone_change(Stone *st) {} |
virtual void stone_change(Stone */*st*/) {} |
273 |
|
|
274 |
void actor_hit(Actor *a) { on_actorhit(a); } |
void actor_hit(Actor *a) { on_actorhit(a); } |
275 |
|
|
276 |
double friction() const { return traits.friction; } |
double friction() const { return traits.friction; } |
277 |
double mousefactor() const { return traits.mousefactor; } |
double mousefactor() const { return traits.mousefactor; } |
278 |
private: |
private: |
279 |
virtual void on_actorhit(Actor *a) {} |
virtual void on_actorhit(Actor */*a*/) {} |
280 |
|
|
281 |
FloorTraits traits; |
FloorTraits traits; |
282 |
}; |
}; |
349 |
|
|
350 |
virtual px::V2 actor_impulse (const StoneContact &sc); |
virtual px::V2 actor_impulse (const StoneContact &sc); |
351 |
virtual void actor_hit (const StoneContact &sc); |
virtual void actor_hit (const StoneContact &sc); |
352 |
virtual void actor_inside (Actor *a) {} |
virtual void actor_inside (Actor */*a*/) {} |
353 |
virtual void actor_contact (Actor *a) {} |
virtual void actor_contact (Actor */*a*/) {} |
354 |
|
|
355 |
virtual bool is_movable() { return false;} |
virtual bool is_movable() { return false;} |
356 |
|
|
374 |
class Actor : public Object { |
class Actor : public Object { |
375 |
public: |
public: |
376 |
// Actor interface. |
// Actor interface. |
377 |
virtual void think (double dtime) { } |
virtual void think (double /*dtime*/) { } |
378 |
|
|
379 |
virtual void on_hit(Actor* a) {} |
virtual void on_hit(Actor* /*a*/) {} |
380 |
virtual void on_creation(const px::V2 &pos); |
virtual void on_creation(const px::V2 &pos); |
381 |
virtual void on_respawn (const px::V2 &pos); |
virtual void on_respawn (const px::V2 &pos); |
382 |
|
|
414 |
|
|
415 |
private: |
private: |
416 |
|
|
417 |
virtual void on_motion(px::V2 newpos) {} |
virtual void on_motion(px::V2 /*newpos*/) {} |
418 |
world::ActorInfo actorinfo; |
world::ActorInfo actorinfo; |
419 |
display::SpriteHandle m_sprite; |
display::SpriteHandle m_sprite; |
420 |
V2 startingpos; |
V2 startingpos; |