void activate();
void write(lisp::Writer& writer);
- HitResponse collision_solid(GameObject& other, const CollisionHit& hit);
+ void collision_solid(const CollisionHit& hit);
void active_update(float elapsed_time);
virtual Zeekling* clone() const { return new Zeekling(*this); }
protected:
- bool collision_squished(Player& player);
+ bool collision_squished(GameObject& object);
float speed;
Timer diveRecoverTimer;
ZeeklingState state;
private:
+ const MovingObject* last_player; /**< last player we tracked */
+ Vector last_player_pos; /**< position we last spotted the player at */
+ Vector last_self_pos; /**< position we last were at */
+
bool should_we_dive();
void onBumpHorizontal();
void onBumpVertical();
};
#endif
-