Shmup/src/shmup/boss.h

57 lines
984 B
C++

#ifndef BOSS_H
#define BOSS_H
#include <azur/azur.h>
#include <azur/gint/render.h>
#include <cstdint>
#include <stdlib.h>
#include <num/num.h>
#include <sys/types.h>
#include "bullet.h"
#include "enemy.h"
#include "trajectory.h"
typedef struct
{
uint8_t P1, P2, P3;
int16_t life;
bool toberemoved;
int color;
} BossPart;
typedef struct
{
int16_t life;
bool toberemoved;
} BossGun;
class Boss : public Enemy
{
public:
Boss( int16_t _x, int16_t _y, uint8_t _id );
~Boss();
virtual void Update( float dt ) override;
virtual void Render( void ) override;
virtual bool Test_Impact( Bullet *projectile ) override;
uint32_t lastshoot = 0;
uint8_t rotSpeed;
private:
float rotAngle;
libnum::num radiusInt, radiusExt;
uint32_t lastshoot0 = 0;
uint32_t lastshoot1 = 0;
virtual bool Shoot_OK( uint32_t tempshoot, uint8_t shootID ) override;
};
#endif