diff --git a/server/gameserver/batchsync.cc b/server/gameserver/batchsync.cc index 9a1f0285..b5714f76 100644 --- a/server/gameserver/batchsync.cc +++ b/server/gameserver/batchsync.cc @@ -34,7 +34,9 @@ void BatchSync::AddGlobalObject(Creature* c) 1000, [tuple] (int event, const a8::Args* args) { + if (event == a8::TIMER_EXEC_EVENT) { + } }, &timer_attacher_); } @@ -53,32 +55,30 @@ void BatchSync::AddTeam(Team* team) if (team_hash_.find(team) != team_hash_.end()) { abort(); } - auto timer_wp = f8::Timer::Instance()->SetIntervalWpEx - ( - 1000, - [] (int event, const a8::Args* args) - { - - }, - &timer_attacher_); - std::vector sync_objects; + auto tuple = std::make_shared>>(); team->TraverseMembers ( - [&sync_objects] (Human* hum) + [&tuple] (Human* hum) { - SyncObject sync_obj; + SyncObject& sync_obj = a8::FastAppend(std::get<1>(*tuple)); sync_obj.obj_uniid = hum->GetUniId(); sync_obj.c = hum->GetWeakPtrRef(); sync_obj.pos = hum->GetPos().ToGlmVec3(); sync_obj.dir = hum->GetAttackDir(); sync_obj.last_sync_frameno = 0; - sync_objects.push_back(sync_obj); return true; }); -#if 0 - team_hash_[team] = - std::make_tuple(timer_wp, sync_objects); -#endif + team_hash_[team] = tuple; + std::get<0>(*tuple) = f8::Timer::Instance()->SetIntervalWpEx + ( + 1000, + [] (int event, const a8::Args* args) + { + if (event == a8::TIMER_EXEC_EVENT) { + + } + }, + &timer_attacher_); } void BatchSync::UpdateTeam(Team* team)