添加特殊空投箱子处理
This commit is contained in:
parent
7fd65b85e7
commit
41db14e14b
@ -215,6 +215,19 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
METAMGR_READ_STR(level0room_spec_airdrop, "");
|
||||||
|
std::vector<std::string> tmpstrings;
|
||||||
|
a8::Split(MetaMgr::Instance()->level0room_spec_airdrop, tmpstrings, ':');
|
||||||
|
for (auto& str : tmpstrings) {
|
||||||
|
if (!str.empty()) {
|
||||||
|
MetaMgr::Instance()->level0room_spec_airdrops.push_back
|
||||||
|
(
|
||||||
|
a8::XValue(str).GetInt()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
METAMGR_READ(level1room_shua_robot_min_time, 5);
|
METAMGR_READ(level1room_shua_robot_min_time, 5);
|
||||||
METAMGR_READ(level1room_shua_robot_max_time, 7);
|
METAMGR_READ(level1room_shua_robot_max_time, 7);
|
||||||
|
@ -87,6 +87,7 @@ class MetaMgr : public a8::Singleton<MetaMgr>
|
|||||||
int level0room_robot_autodie_time = 0;
|
int level0room_robot_autodie_time = 0;
|
||||||
int level0room_robot_autodie_distance = 0;
|
int level0room_robot_autodie_distance = 0;
|
||||||
std::set<int> level0room_spec_things_set;
|
std::set<int> level0room_spec_things_set;
|
||||||
|
std::vector<int> level0room_spec_airdrops;
|
||||||
|
|
||||||
int level1room_shua_robot_min_time = 0;
|
int level1room_shua_robot_min_time = 0;
|
||||||
int level1room_shua_robot_max_time = 0;
|
int level1room_shua_robot_max_time = 0;
|
||||||
@ -117,5 +118,6 @@ class MetaMgr : public a8::Singleton<MetaMgr>
|
|||||||
MetaDataLoader* loader_ = nullptr;
|
MetaDataLoader* loader_ = nullptr;
|
||||||
|
|
||||||
std::string level0room_spec_things;
|
std::string level0room_spec_things;
|
||||||
|
std::string level0room_spec_airdrop;
|
||||||
friend class MetaDataLoader;
|
friend class MetaDataLoader;
|
||||||
};
|
};
|
||||||
|
@ -1134,6 +1134,14 @@ void Room::InitAirDrop()
|
|||||||
void Room::AirDrop(int appear_time, int box_id)
|
void Room::AirDrop(int appear_time, int box_id)
|
||||||
{
|
{
|
||||||
MetaData::MapThing* thing_meta = MetaMgr::Instance()->GetMapThing(box_id);
|
MetaData::MapThing* thing_meta = MetaMgr::Instance()->GetMapThing(box_id);
|
||||||
|
if (room_type_ == RT_NewBrid &&
|
||||||
|
airdrop_times_ < MetaMgr::Instance()->level0room_spec_airdrops.size()) {
|
||||||
|
int spec_box_id = MetaMgr::Instance()->level0room_spec_airdrops[airdrop_times_];
|
||||||
|
if (MetaMgr::Instance()->GetMapThing(spec_box_id)) {
|
||||||
|
thing_meta = MetaMgr::Instance()->GetMapThing(spec_box_id);
|
||||||
|
box_id = spec_box_id;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (thing_meta && thing_meta->i->type() == 2) {
|
if (thing_meta && thing_meta->i->type() == 2) {
|
||||||
a8::Vec2 dir = a8::Vec2::UP;
|
a8::Vec2 dir = a8::Vec2::UP;
|
||||||
dir.Rotate(a8::RandAngle());
|
dir.Rotate(a8::RandAngle());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user