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]));
}
}
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_) {
if (idx < room->frame_event.chged_hps_.size()) {
Human* target = room->frame_event.chged_hps_[idx];
{
auto p = msg->add_chged_property_list();
p->set_obj_id(target->entity_uniid);
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();
p->set_obj_id(target->entity_uniid);
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_) {
if (idx < room->frame_event.chged_inventorys_.size()) {
Human* target = room->frame_event.chged_inventorys_[idx];
{
auto p = msg->add_chged_property_list();
p->set_obj_id(target->entity_uniid);
p->set_property_type(kPropInventory);
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_) {
if (idx < room->frame_event.chged_skillcds_.size()) {
Human* target = room->frame_event.chged_skillcds_[idx];
{
auto p = msg->add_chged_property_list();
p->set_obj_id(target->entity_uniid);
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();
p->set_obj_id(target->entity_uniid);
p->set_property_type(kPropSkillCd);
p->set_value(room->frame_event.chged_skillcds_[idx]->GetSkillCd());
p->set_value(target->GetSkillCd());
}
}
}