This commit is contained in:
aozhiwei 2021-08-20 08:13:34 +00:00
parent 42ab7714f8
commit 7dda3bffb3
3 changed files with 22 additions and 6 deletions

View File

@ -189,6 +189,13 @@ namespace MetaData
int_param2 = a8::XValue(i->param2());
float_param2 = a8::XValue(i->param2()).GetDouble();
}
{
std::vector<std::string> strings;
a8::Split(i->param2(), strings, '|');
for (auto& str : strings) {
param2_list.push_back(a8::XValue(str));
}
}
}
void Equip::Init()

View File

@ -54,6 +54,7 @@ namespace MetaData
int int_param2 = 0;
float float_param2 = 0;
long long sweep_tags = 0;
std::vector<int> param2_list;
void Init();
};

View File

@ -430,9 +430,15 @@ void RoomObstacle::ActiveGully()
void RoomObstacle::ActiveAirDrop()
{
int delay_time = 0;
int appear_time = 0;
if (meta->param2_list.size() >= 2) {
delay_time = meta->param2_list[0];
appear_time = meta->param2_list[1];
}
room->xtimer.AddDeadLineTimerAndAttach
(
meta->int_param2 / FRAME_RATE_MS,
(delay_time + appear_time) / FRAME_RATE_MS,
a8::XParams()
.SetSender(this),
[] (const a8::XParams& param)
@ -449,15 +455,17 @@ void RoomObstacle::ActiveAirDrop()
});
room->xtimer.AddDeadLineTimerAndAttach
(
0,
//meta->int_param2 / FRAME_RATE_MS * 1,
delay_time / FRAME_RATE_MS,
a8::XParams()
.SetSender(this),
.SetSender(this)
.SetParam1(delay_time)
.SetParam2(appear_time)
.SetParam3(meta->int_param1),
[] (const a8::XParams& param)
{
RoomObstacle* obstacle = (RoomObstacle*)param.sender.GetUserData();
obstacle->room->frame_event.AddAirDrop(obstacle->meta->int_param2,
obstacle->meta->int_param1,
obstacle->room->frame_event.AddAirDrop(param.param2,
param.param3,
obstacle->GetPos());
},
&xtimer_attacher.timer_list_