95 lines
2.4 KiB
C++
95 lines
2.4 KiB
C++
#include "precompile.h"
|
|
|
|
#include "framedata.h"
|
|
#include "human.h"
|
|
#include "room.h"
|
|
|
|
void FrameData::ClearFrameData(Human* hum)
|
|
{
|
|
if (!new_objects.empty()) {
|
|
new_objects.clear();
|
|
}
|
|
if (!image_objects.empty()) {
|
|
image_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()) {
|
|
if (!a8::HasBitFlag(hum->status, CS_Disable)) {
|
|
for (auto& itr : out_objects) {
|
|
Entity* entity = hum->room->GetEntityByUniId(itr);
|
|
if (entity) {
|
|
hum->RemovePartObjects(entity);
|
|
if (entity->IsEntityType(ET_Player)) {
|
|
((Human*)entity)->RemovePartObjects(hum);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
out_objects.clear();
|
|
}
|
|
if (!shots_.empty()) {
|
|
shots_.clear();
|
|
}
|
|
if (!bullets_.empty()) {
|
|
bullets_.clear();
|
|
}
|
|
if (!explosions_.empty()) {
|
|
explosions_.clear();
|
|
}
|
|
if (!play_skills_.empty()) {
|
|
play_skills_.clear();
|
|
}
|
|
if (!emotes_.empty()) {
|
|
emotes_.clear();
|
|
}
|
|
if (!chged_bullet_nums_.empty()) {
|
|
chged_bullet_nums_.clear();
|
|
}
|
|
if (!chged_hps_.empty()) {
|
|
chged_hps_.clear();
|
|
}
|
|
if (!chged_buffs_.empty()) {
|
|
chged_buffs_.clear();
|
|
}
|
|
if (!chged_effects_.empty()) {
|
|
chged_effects_.clear();
|
|
}
|
|
if (!chged_skillcds_.empty()) {
|
|
chged_skillcds_.clear();
|
|
}
|
|
if (!chged_skill_curr_times_.empty()) {
|
|
chged_skill_curr_times_.clear();
|
|
}
|
|
if (!chged_items_.empty()) {
|
|
chged_items_.clear();
|
|
}
|
|
if (!chged_weapon_ammo_.empty()) {
|
|
chged_weapon_ammo_.clear();
|
|
}
|
|
if (!dead_alive_objs_.empty()) {
|
|
dead_alive_objs_.clear();
|
|
}
|
|
if (!chged_cars_.empty()) {
|
|
chged_cars_.clear();
|
|
}
|
|
if (!chged_props_.empty()) {
|
|
chged_props_.clear();
|
|
}
|
|
if (!del_bullets_.empty()) {
|
|
del_bullets_.clear();
|
|
}
|
|
}
|