aozhiwei f0c63489fd 1
2023-07-17 13:10:16 +08:00

34 lines
887 B
C++

#pragma once
#include "mt/macro.h"
#include "mtb/SafeArea.h"
namespace mt
{
DECLARE_ID_TABLE(SafeArea, mtb::SafeArea,
"safearea@safearea.json",
"id")
public:
void Init1();
static void StaticPostInit();
std::shared_ptr<std::tuple<glm::vec3, float, int>> GetBoss() const { return _boss; }
int GetSmallRingCount() const { return small_ring_count_; }
const mt::SafeArea* GetLastArea() const { return last_area_; }
bool CanRevive() const;
bool IsLastGas() const;
static const SafeArea* GetByType(int type);
private:
static std::map<int, std::vector<mt::SafeArea*>> type_hash_;
bool _can_revive = false;
int small_ring_count_ = 0;
const mt::SafeArea* last_area_ = nullptr;
std::shared_ptr<std::tuple<glm::vec3, float, int>> _boss;
};
}