Compare commits

...

1 Commits
master ... dev

Author SHA1 Message Date
aozhiwei
4ad99d3a4a 优化 2021-09-18 05:21:48 +00:00
3 changed files with 26 additions and 36 deletions

View File

@ -10,17 +10,6 @@ void FrameData::ClearFrameData(Human* hum)
new_objects.clear();
}
if (!del_objects.empty()) {
if (!a8::HasBitFlag(hum->status, CS_Disable)) {
for (auto& itr : del_objects) {
Entity* entity = hum->room->GetEntityByUniId(itr);
if (entity) {
hum->RemovePartObjects(entity);
if (entity->IsEntityType(ET_Player)) {
((Human*)entity)->RemovePartObjects(hum);
}
}
}
}
del_objects.clear();
}
if (!out_objects.empty()) {

View File

@ -93,30 +93,31 @@ cs::SMUpdate* FrameMaker::MakeUpdateMsg(Human* hum)
cs::SMUpdate* msg = new cs::SMUpdate;
Room* room = hum->room;
PreProcess(msg, room, hum, framedata);
SerializeNewObjects(msg, room, hum, framedata);
SerializePartObjects(msg, room, hum, framedata);
SerializeDelObjects(msg, room, hum, framedata);
SerializeOutObjects(msg, room, hum, framedata);
SerializeShots(msg, room, hum, framedata);
SerializeEmotes(msg, room, hum, framedata);
SerializeBullets(msg, room, hum, framedata);
SerializeSmokes(msg, room, hum, framedata);
SerializePlaySkills(msg, room, hum, framedata);
SerializeExplosions(msg, room, hum, framedata);
SerializeChgedBuffs(msg, room, hum, framedata);
SerializeChgedBulletNums(msg, room, hum, framedata);
SerializeChgedHps(msg, room, hum, framedata);
SerializeChgedSkillCds(msg, room, hum, framedata);
SerializeChgedSkillCurrTimes(msg, room, hum, framedata);
SerializeChgedItems(msg, room, hum, framedata);
SerializeChgedWeaponAmmo(msg, room, hum, framedata);
SerializeDeadAliveObjs(msg, room, hum, framedata);
SerializeChgedCars(msg, room, hum, framedata);
SerializeChgedProps(msg, room, hum, framedata);
SerializeDelBullets(msg, room, hum, framedata);
PostProcess(msg, room, hum, framedata);
if (hum->IsPlayer() || hum->HasObserver) {
PreProcess(msg, room, hum, framedata);
SerializeNewObjects(msg, room, hum, framedata);
SerializePartObjects(msg, room, hum, framedata);
SerializeDelObjects(msg, room, hum, framedata);
SerializeOutObjects(msg, room, hum, framedata);
SerializeShots(msg, room, hum, framedata);
SerializeEmotes(msg, room, hum, framedata);
SerializeBullets(msg, room, hum, framedata);
SerializeSmokes(msg, room, hum, framedata);
SerializePlaySkills(msg, room, hum, framedata);
SerializeExplosions(msg, room, hum, framedata);
SerializeChgedBuffs(msg, room, hum, framedata);
SerializeChgedBulletNums(msg, room, hum, framedata);
SerializeChgedHps(msg, room, hum, framedata);
SerializeChgedSkillCds(msg, room, hum, framedata);
SerializeChgedSkillCurrTimes(msg, room, hum, framedata);
SerializeChgedItems(msg, room, hum, framedata);
SerializeChgedWeaponAmmo(msg, room, hum, framedata);
SerializeDeadAliveObjs(msg, room, hum, framedata);
SerializeChgedCars(msg, room, hum, framedata);
SerializeChgedProps(msg, room, hum, framedata);
SerializeDelBullets(msg, room, hum, framedata);
PostProcess(msg, room, hum, framedata);
}
return msg;
}

View File

@ -1300,7 +1300,7 @@ void Human::RemoveObserver(Human* observer)
bool Human::HasObserver()
{
return !observers_.empty();
return observers_.size() > 1;
}
void Human::SendUpdateMsg()