283 |
// Actor interface. |
// Actor interface. |
284 |
virtual void on_hit(Actor* a) {} |
virtual void on_hit(Actor* a) {} |
285 |
virtual void on_creation(const px::V3 &pos); |
virtual void on_creation(const px::V3 &pos); |
286 |
|
virtual void on_respawn (const px::V3 &pos); |
287 |
|
|
288 |
virtual bool is_dead() = 0; |
virtual bool is_dead() = 0; |
289 |
virtual bool is_flying() { return false; } |
virtual bool is_flying() { return false; } |
303 |
void move(); |
void move(); |
304 |
void warp(const px::V3 &newpos); |
void warp(const px::V3 &newpos); |
305 |
|
|
306 |
|
|
307 |
|
void respawn(); |
308 |
void add_force (const px::V3 &f) { |
void add_force (const px::V3 &f) { |
309 |
actorinfo.forceacc += f; |
actorinfo.forceacc += f; |
310 |
} |
} |
320 |
|
|
321 |
private: |
private: |
322 |
virtual void on_motion(px::V3 newpos) {} |
virtual void on_motion(px::V3 newpos) {} |
323 |
world::ActorInfo actorinfo; |
world::ActorInfo actorinfo; |
324 |
display::SpriteId sprite_id; |
display::SpriteId sprite_id; |
325 |
|
V3 startingpos; |
326 |
|
V3 respawnpos; |
327 |
|
bool use_respawnpos; |
328 |
}; |
}; |
329 |
} |
} |
330 |
|
|