From f047697c037a2a01d16b1830f8f80482c5430e8f Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 7 May 2021 11:49:06 +0800 Subject: [PATCH] rm mitask --- server/gameserver/bullet.cc | 58 -------------- server/gameserver/molotor_cocktail_mitask.cc | 80 -------------------- server/gameserver/molotor_cocktail_mitask.h | 28 ------- server/gameserver/posiongas_mitask.cc | 80 -------------------- server/gameserver/posiongas_mitask.h | 28 ------- 5 files changed, 274 deletions(-) delete mode 100644 server/gameserver/molotor_cocktail_mitask.cc delete mode 100644 server/gameserver/molotor_cocktail_mitask.h delete mode 100644 server/gameserver/posiongas_mitask.cc delete mode 100644 server/gameserver/posiongas_mitask.h diff --git a/server/gameserver/bullet.cc b/server/gameserver/bullet.cc index 6c2b6de..0c932a8 100644 --- a/server/gameserver/bullet.cc +++ b/server/gameserver/bullet.cc @@ -12,8 +12,6 @@ #include "perfmonitor.h" #include "smoke_mitask.h" #include "frag_mitask.h" -#include "posiongas_mitask.h" -#include "molotor_cocktail_mitask.h" #include "creature.h" #include "roomobstacle.h" @@ -378,7 +376,6 @@ void Bullet::ProcFragBomb(int delay_time) void Bullet::ProcPosionGasBomb(int delay_time) { if (sender.Get()) { - #if 1 a8::Vec2 old_buff_vec2_param1 = sender.Get()->buff_vec2_param1; sender.Get()->buff_vec2_param1 = GetPos(); MetaData::Buff * buff_meta = MetaMgr::Instance()->GetBuff(gun_meta->i->buffid()); @@ -389,40 +386,12 @@ void Bullet::ProcPosionGasBomb(int delay_time) ); } sender.Get()->buff_vec2_param1 = old_buff_vec2_param1; - #else - PosionGasMiTask* task = new PosionGasMiTask(); - task->room = room; - task->sender.Attach(sender.Get()); - task->bomb_pos = GetPos(); - task->gun_meta = gun_meta; - task->meta = meta; - task->Initialzie(); - - room->xtimer.AddDeadLineTimerAndAttach - (delay_time / FRAME_RATE_MS, - a8::XParams() - .SetSender(task), - [] (const a8::XParams& param) - { - PosionGasMiTask* task = (PosionGasMiTask*)param.sender.GetUserData(); - task->room->frame_event.AddExplosionEx - (task->sender, - task->meta->i->id(), - task->bomb_pos, - task->gun_meta->i->explosion_effect()); - task->Active(); - - }, - &room->timer_attacher.timer_list_ - ); - #endif } } void Bullet::ProcMolotorCocktailBomb(int delay_time) { if (sender.Get()) { - #if 1 a8::Vec2 old_buff_vec2_param1 = sender.Get()->buff_vec2_param1; sender.Get()->buff_vec2_param1 = GetPos(); MetaData::Buff * buff_meta = MetaMgr::Instance()->GetBuff(gun_meta->i->buffid()); @@ -433,32 +402,5 @@ void Bullet::ProcMolotorCocktailBomb(int delay_time) ); } sender.Get()->buff_vec2_param1 = old_buff_vec2_param1; - #else - MolotorCocktailMiTask* task = new MolotorCocktailMiTask(); - task->room = room; - task->sender.Attach(sender.Get()); - task->bomb_pos = GetPos(); - task->gun_meta = gun_meta; - task->meta = meta; - task->Initialzie(); - - room->xtimer.AddDeadLineTimerAndAttach - (delay_time / FRAME_RATE_MS, - a8::XParams() - .SetSender(task), - [] (const a8::XParams& param) - { - MolotorCocktailMiTask* task = (MolotorCocktailMiTask*)param.sender.GetUserData(); - task->room->frame_event.AddExplosionEx - (task->sender, - task->meta->i->id(), - task->bomb_pos, - task->gun_meta->i->explosion_effect()); - task->Active(); - - }, - &room->timer_attacher.timer_list_ - ); - #endif } } diff --git a/server/gameserver/molotor_cocktail_mitask.cc b/server/gameserver/molotor_cocktail_mitask.cc deleted file mode 100644 index e255c88..0000000 --- a/server/gameserver/molotor_cocktail_mitask.cc +++ /dev/null @@ -1,80 +0,0 @@ -#include "precompile.h" - -#include "molotor_cocktail_mitask.h" -#include "room.h" -#include "player.h" -#include "metadata.h" - -void MolotorCocktailMiTask::Initialzie() -{ - sender.Get()->room->grid_service->GetAllCellsByXy - ( - sender.Get()->room, - bomb_pos.x, - bomb_pos.y, - grid_list - ); -} - -void MolotorCocktailMiTask::Active() -{ - room->xtimer.AddRepeatTimerAndAttach - (SERVER_FRAME_RATE / 2, - a8::XParams() - .SetSender(this), - [] (const a8::XParams& param) - { - MolotorCocktailMiTask* task = (MolotorCocktailMiTask*)param.sender.GetUserData(); - task->Check(); - }, - &timer_attacher.timer_list_); - - room->xtimer.AddDeadLineTimerAndAttach - (SERVER_FRAME_RATE * meta->i->time(), - a8::XParams() - .SetSender(this), - [] (const a8::XParams& param) - { - }, - &timer_attacher.timer_list_, - [] (const a8::XParams& param) - { - MolotorCocktailMiTask* task = (MolotorCocktailMiTask*)param.sender.GetUserData(); - task->Done(); - delete task; - } - ); - -} - -void MolotorCocktailMiTask::Check() -{ - if (sender.Get()) { - std::set objects; - sender.Get()->room->grid_service->TouchCreatures - ( - sender.Get()->room->GetRoomIdx(), - grid_list, - [this, &objects] (Creature* c, bool& stop) - { - if (sender.Get()->IsProperTarget(c)) { - if (bomb_pos.Distance(c->GetPos()) < meta->i->explosion_range()) { - objects.insert(c); - } - } - } - ); - for (Creature* target : objects) { - if (!target->GetBuffById(meta->i->buffid())) { - a8::Vec2 old_buff_vec2_param1 = target->buff_vec2_param1; - target->buff_vec2_param1 = target->GetPos(); - target->MustBeAddBuff(sender.Get(), meta->i->buffid()); - target->buff_vec2_param1 = old_buff_vec2_param1; - } - } - } -} - -void MolotorCocktailMiTask::Done() -{ -} diff --git a/server/gameserver/molotor_cocktail_mitask.h b/server/gameserver/molotor_cocktail_mitask.h deleted file mode 100644 index fa5f134..0000000 --- a/server/gameserver/molotor_cocktail_mitask.h +++ /dev/null @@ -1,28 +0,0 @@ -#pragma once - -#include "microtask.h" -#include "gridcell.h" - -namespace MetaData -{ - struct Buff; - struct Equip; -} - -class Room; -class Player; -class MolotorCocktailMiTask : public MicroTask -{ - public: - Room* room = nullptr; - a8::Vec2 bomb_pos; - CreatureWeakPtr sender; - MetaData::Equip* gun_meta = nullptr; - MetaData::Equip* meta = nullptr; - std::set grid_list; - - void Initialzie(); - void Active(); - void Check(); - void Done(); -}; diff --git a/server/gameserver/posiongas_mitask.cc b/server/gameserver/posiongas_mitask.cc deleted file mode 100644 index 6a349b1..0000000 --- a/server/gameserver/posiongas_mitask.cc +++ /dev/null @@ -1,80 +0,0 @@ -#include "precompile.h" - -#include "posiongas_mitask.h" -#include "room.h" -#include "player.h" -#include "metadata.h" - -void PosionGasMiTask::Initialzie() -{ - sender.Get()->room->grid_service->GetAllCellsByXy - ( - sender.Get()->room, - bomb_pos.x, - bomb_pos.y, - grid_list - ); -} - -void PosionGasMiTask::Active() -{ - room->xtimer.AddRepeatTimerAndAttach - (SERVER_FRAME_RATE / 2, - a8::XParams() - .SetSender(this), - [] (const a8::XParams& param) - { - PosionGasMiTask* task = (PosionGasMiTask*)param.sender.GetUserData(); - task->Check(); - }, - &timer_attacher.timer_list_); - - room->xtimer.AddDeadLineTimerAndAttach - (SERVER_FRAME_RATE * meta->i->time(), - a8::XParams() - .SetSender(this), - [] (const a8::XParams& param) - { - }, - &timer_attacher.timer_list_, - [] (const a8::XParams& param) - { - PosionGasMiTask* task = (PosionGasMiTask*)param.sender.GetUserData(); - task->Done(); - delete task; - } - ); - -} - -void PosionGasMiTask::Check() -{ - if (sender.Get()) { - std::set objects; - sender.Get()->room->grid_service->TouchCreatures - ( - sender.Get()->room->GetRoomIdx(), - grid_list, - [this, &objects] (Creature* c, bool& stop) - { - if (sender.Get()->IsProperTarget(c)) { - if (bomb_pos.Distance(c->GetPos()) < meta->i->explosion_range()) { - objects.insert(c); - } - } - } - ); - for (Creature* target : objects) { - if (!target->GetBuffById(meta->i->buffid())) { - a8::Vec2 old_buff_vec2_param1 = target->buff_vec2_param1; - target->buff_vec2_param1 = target->GetPos(); - target->MustBeAddBuff(sender.Get(), meta->i->buffid()); - target->buff_vec2_param1 = old_buff_vec2_param1; - } - } - } -} - -void PosionGasMiTask::Done() -{ -} diff --git a/server/gameserver/posiongas_mitask.h b/server/gameserver/posiongas_mitask.h deleted file mode 100644 index 79dc6c2..0000000 --- a/server/gameserver/posiongas_mitask.h +++ /dev/null @@ -1,28 +0,0 @@ -#pragma once - -#include "microtask.h" -#include "gridcell.h" - -namespace MetaData -{ - struct Buff; - struct Equip; -} - -class Room; -class Player; -class PosionGasMiTask : public MicroTask -{ - public: - Room* room = nullptr; - a8::Vec2 bomb_pos; - CreatureWeakPtr sender; - MetaData::Equip* gun_meta = nullptr; - MetaData::Equip* meta = nullptr; - std::set grid_list; - - void Initialzie(); - void Active(); - void Check(); - void Done(); -};