This commit is contained in:
aozhiwei 2019-08-01 17:15:33 +08:00
parent a63f613988
commit 5c65a4b41b

View File

@ -73,41 +73,55 @@ cs::SMUpdate* FrameMaker::MakeUpdateMsg(const Human* hum)
p->add_values(std::get<1>(room->frame_event.dead_objs_[idx])); p->add_values(std::get<1>(room->frame_event.dead_objs_[idx]));
} }
} }
for (size_t idx : hum->chged_buffs_) {
if (idx < room->frame_event.chged_buffs_.size()) {
auto p = msg->add_chged_buff_list();
*p = std::get<1>(room->frame_event.chged_buffs_[idx]);
}
}
for (size_t idx : hum->chged_hps_) { for (size_t idx : hum->chged_hps_) {
if (idx < room->frame_event.chged_hps_.size()) { if (idx < room->frame_event.chged_hps_.size()) {
Human* target = room->frame_event.chged_hps_[idx];
{ {
auto p = msg->add_chged_property_list(); auto p = msg->add_chged_property_list();
p->set_obj_id(target->entity_uniid);
p->set_property_type(kPropHp); p->set_property_type(kPropHp);
p->set_value(room->frame_event.chged_hps_[idx]->GetHP()); p->set_value(target->GetHP());
} }
{ {
auto p = msg->add_chged_property_list(); auto p = msg->add_chged_property_list();
p->set_obj_id(target->entity_uniid);
p->set_property_type(kPropMaxHp); p->set_property_type(kPropMaxHp);
p->set_value(room->frame_event.chged_hps_[idx]->GetMaxHP()); p->set_value(target->GetMaxHP());
} }
} }
} }
for (size_t idx : hum->chged_inventorys_) { for (size_t idx : hum->chged_inventorys_) {
if (idx < room->frame_event.chged_inventorys_.size()) { if (idx < room->frame_event.chged_inventorys_.size()) {
Human* target = room->frame_event.chged_inventorys_[idx];
{ {
auto p = msg->add_chged_property_list(); auto p = msg->add_chged_property_list();
p->set_obj_id(target->entity_uniid);
p->set_property_type(kPropInventory); p->set_property_type(kPropInventory);
p->set_property_subtype(kWEAPON_SLOT); p->set_property_subtype(kWEAPON_SLOT);
p->set_value(room->frame_event.chged_inventorys_[idx]->GetInventory(kWEAPON_SLOT)); p->set_value(target->GetInventory(kWEAPON_SLOT));
} }
} }
} }
for (size_t idx : hum->chged_skillcds_) { for (size_t idx : hum->chged_skillcds_) {
if (idx < room->frame_event.chged_skillcds_.size()) { if (idx < room->frame_event.chged_skillcds_.size()) {
Human* target = room->frame_event.chged_skillcds_[idx];
{ {
auto p = msg->add_chged_property_list(); auto p = msg->add_chged_property_list();
p->set_obj_id(target->entity_uniid);
p->set_property_type(kPropSkillLeftTime); p->set_property_type(kPropSkillLeftTime);
p->set_value(room->frame_event.chged_skillcds_[idx]->GetSkillLeftTime()); p->set_value(target->GetSkillLeftTime());
} }
{ {
auto p = msg->add_chged_property_list(); auto p = msg->add_chged_property_list();
p->set_obj_id(target->entity_uniid);
p->set_property_type(kPropSkillCd); p->set_property_type(kPropSkillCd);
p->set_value(room->frame_event.chged_skillcds_[idx]->GetSkillCd()); p->set_value(target->GetSkillCd());
} }
} }
} }