This commit is contained in:
aozhiwei 2021-04-02 20:07:39 +08:00
parent 5d2039cb28
commit 324aaadb0a
5 changed files with 42 additions and 8 deletions

View File

@ -377,22 +377,34 @@ void Bullet::ProcPosionGasBomb(int delay_time)
task->bomb_pos = GetPos();
task->gun_meta = gun_meta;
task->meta = meta;
room->xtimer.AddDeadLineTimerAndAttach
(std::max(1, (int)(delay_time / FRAME_RATE_MS)),
room->xtimer.AddRepeatTimerAndAttach
(SERVER_FRAME_RATE / 2,
a8::XParams()
.SetSender(task),
[] (const a8::XParams& param)
{
PosionGasMiTask* task = (PosionGasMiTask*)param.sender.GetUserData();
task->Done();
task->Check();
},
&task->timer_attacher.timer_list_,
&task->timer_attacher.timer_list_);
room->xtimer.AddDeadLineTimerAndAttach
(SERVER_FRAME_RATE * MetaMgr::Instance()->GetSysParamAsInt("smoke_duration", 10),
a8::XParams()
.SetSender(task),
[] (const a8::XParams& param)
{
},
&room->timer_attacher.timer_list_,
[] (const a8::XParams& param)
{
PosionGasMiTask* task = (PosionGasMiTask*)param.sender.GetUserData();
task->Done();
delete task;
}
);
}
}
@ -405,19 +417,30 @@ void Bullet::ProcMolotorCocktailBomb(int delay_time)
task->bomb_pos = GetPos();
task->gun_meta = gun_meta;
task->meta = meta;
room->xtimer.AddDeadLineTimerAndAttach
(std::max(1, (int)(delay_time / FRAME_RATE_MS)),
room->xtimer.AddRepeatTimerAndAttach
(SERVER_FRAME_RATE / 2,
a8::XParams()
.SetSender(task),
[] (const a8::XParams& param)
{
MolotorCocktailMiTask* task = (MolotorCocktailMiTask*)param.sender.GetUserData();
task->Done();
task->Check();
},
&task->timer_attacher.timer_list_,
&task->timer_attacher.timer_list_);
room->xtimer.AddDeadLineTimerAndAttach
(SERVER_FRAME_RATE * MetaMgr::Instance()->GetSysParamAsInt("smoke_duration", 10),
a8::XParams()
.SetSender(task),
[] (const a8::XParams& param)
{
},
&room->timer_attacher.timer_list_,
[] (const a8::XParams& param)
{
MolotorCocktailMiTask* task = (MolotorCocktailMiTask*)param.sender.GetUserData();
task->Done();
delete task;
}
);

View File

@ -5,6 +5,10 @@
#include "player.h"
#include "metadata.h"
void MolotorCocktailMiTask::Check()
{
}
void MolotorCocktailMiTask::Done()
{
}

View File

@ -19,5 +19,6 @@ class MolotorCocktailMiTask : public MicroTask
MetaData::Equip* gun_meta = nullptr;
MetaData::Equip* meta = nullptr;
void Check();
void Done();
};

View File

@ -5,6 +5,11 @@
#include "player.h"
#include "metadata.h"
void PosionGasMiTask::Check()
{
}
void PosionGasMiTask::Done()
{

View File

@ -19,5 +19,6 @@ class PosionGasMiTask : public MicroTask
MetaData::Equip* gun_meta = nullptr;
MetaData::Equip* meta = nullptr;
void Check();
void Done();
};