39 lines
681 B
C++
39 lines
681 B
C++
#pragma once
|
|
|
|
#include "entity.h"
|
|
|
|
namespace MetaData
|
|
{
|
|
struct Player;
|
|
struct Equip;
|
|
}
|
|
|
|
class Human;
|
|
class CircleCollider;
|
|
class Bullet : public Entity
|
|
{
|
|
public:
|
|
MetaData::Equip* gun_meta = nullptr;
|
|
MetaData::Equip* meta = nullptr;
|
|
Human* player = nullptr;
|
|
Vector2D dir;
|
|
Vector2D born_pos;
|
|
Vector2D born_dir;
|
|
float fly_distance = 0.0f;
|
|
|
|
Bullet();
|
|
virtual ~Bullet() override;
|
|
virtual void Initialize() override;
|
|
virtual void Update(int delta_time) override;
|
|
void RecalcSelfCollider();
|
|
|
|
private:
|
|
|
|
void OnHit(std::vector<Entity*>& objects);
|
|
void ProcBomb();
|
|
|
|
private:
|
|
CircleCollider* self_collider_ = nullptr;
|
|
|
|
};
|