#pragma once #include "shatter.h" #include "actor.h" class DeathBall : Actor { public: DeathBall(FMOD::System* sound_sys); void update(double tick_time); void change_yaw(double dyaw); void change_pitch(double dpitch); STVector3 _pos; STVector3 _dir; STVector3 _vel; bool _moving_forward; bool _moving_backward; bool _moving_left; bool _moving_right; void render(double tick_time); void select(GravityBall* g_ball); GravityBall* _selected; void distort_handle(SAMPLE* mono16bitbuffer, unsigned int n_samples); // destroy selected gravity_ball void kill(); // corrupt selected gravity_ball void hurt(); void increment_fish(); void decrement_fish(); private: void update_dir(); double _pitch, _yaw; STShape* _ball; AudioLoop* _wahwah_loop; double _sig_vol; int _fish_count; double _fish_clock; };