add FillMFObjectLess
This commit is contained in:
parent
2b379e1055
commit
a26b840d8f
@ -6,6 +6,7 @@
|
|||||||
#include "metamgr.h"
|
#include "metamgr.h"
|
||||||
#include "loot.h"
|
#include "loot.h"
|
||||||
#include "perfmonitor.h"
|
#include "perfmonitor.h"
|
||||||
|
#include "typeconvert.h"
|
||||||
|
|
||||||
Car::Car():MoveableEntity()
|
Car::Car():MoveableEntity()
|
||||||
{
|
{
|
||||||
@ -24,12 +25,26 @@ void Car::Initialize()
|
|||||||
|
|
||||||
void Car::FillMFObjectPart(Room* room, Human* hum, cs::MFObjectPart* part_data)
|
void Car::FillMFObjectPart(Room* room, Human* hum, cs::MFObjectPart* part_data)
|
||||||
{
|
{
|
||||||
|
part_data->set_object_type(ET_Car);
|
||||||
|
cs::MFCarPart* p = part_data->mutable_union_obj_11();
|
||||||
|
p->set_obj_uniid(GetEntityUniId());
|
||||||
|
TypeConvert::ToPb(GetPos(), p->mutable_pos());
|
||||||
|
TypeConvert::ToPb(move_dir, p->mutable_dir());
|
||||||
}
|
}
|
||||||
|
|
||||||
void Car::FillMFObjectFull(Room* room, Human* hum, cs::MFObjectFull* full_data)
|
void Car::FillMFObjectFull(Room* room, Human* hum, cs::MFObjectFull* full_data)
|
||||||
{
|
{
|
||||||
|
full_data->set_object_type(ET_Car);
|
||||||
|
cs::MFCarFull* p = full_data->mutable_union_obj_11();
|
||||||
|
p->set_obj_uniid(GetEntityUniId());
|
||||||
|
TypeConvert::ToPb(GetPos(), p->mutable_pos());
|
||||||
|
TypeConvert::ToPb(move_dir, p->mutable_dir());
|
||||||
|
p->set_car_id(meta->i->id());
|
||||||
|
p->set_driver(driver_ ? driver_->GetEntityUniId() : 0);
|
||||||
|
for (auto hum : passengers_) {
|
||||||
|
auto less_data = p->add_passengers();
|
||||||
|
hum->FillMFObjectLess(room, hum, less_data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Car::GetDown(Human* passenger)
|
void Car::GetDown(Human* passenger)
|
||||||
|
@ -15,6 +15,7 @@ class Car : public MoveableEntity
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
int car_uniid = 0;
|
int car_uniid = 0;
|
||||||
|
a8::Vec2 move_dir;
|
||||||
MetaData::Equip* meta = nullptr;
|
MetaData::Equip* meta = nullptr;
|
||||||
|
|
||||||
Car();
|
Car();
|
||||||
|
@ -197,6 +197,30 @@ void Human::FillMFObjectPart(Room* room, Human* hum, cs::MFObjectPart* part_data
|
|||||||
TypeConvert::ToPb(attack_dir, p->mutable_dir());
|
TypeConvert::ToPb(attack_dir, p->mutable_dir());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Human::FillMFObjectLess(Room* room, Human* hum, cs::MFPlayerFull* full_data)
|
||||||
|
{
|
||||||
|
cs::MFPlayerFull* p = full_data;
|
||||||
|
p->set_obj_uniid(GetEntityUniId());
|
||||||
|
TypeConvert::ToPb(GetPos(), p->mutable_pos());
|
||||||
|
TypeConvert::ToPb(attack_dir, p->mutable_dir());
|
||||||
|
|
||||||
|
p->set_health(GetHP());
|
||||||
|
p->set_max_health(GetMaxHP());
|
||||||
|
p->set_dead(dead);
|
||||||
|
p->set_downed(downed);
|
||||||
|
p->set_disconnected(disconnected);
|
||||||
|
p->set_anim_type(anim_type);
|
||||||
|
p->set_anim_seq(anim_seq);
|
||||||
|
for (auto itr : skins) {
|
||||||
|
auto skin = p->add_skin();
|
||||||
|
itr.ToPB(skin);
|
||||||
|
}
|
||||||
|
p->set_backpack(backpack);
|
||||||
|
p->set_helmet(helmet);
|
||||||
|
p->set_chest(chest);
|
||||||
|
curr_weapon->ToPB(p->mutable_weapon());
|
||||||
|
}
|
||||||
|
|
||||||
void Human::FillMFObjectFull(Room* room, Human* hum, cs::MFObjectFull* full_data)
|
void Human::FillMFObjectFull(Room* room, Human* hum, cs::MFObjectFull* full_data)
|
||||||
{
|
{
|
||||||
full_data->set_object_type(ET_Player);
|
full_data->set_object_type(ET_Player);
|
||||||
|
@ -168,6 +168,7 @@ class Human : public MoveableEntity
|
|||||||
virtual float GetSpeed() override;
|
virtual float GetSpeed() override;
|
||||||
virtual float GetSpeed4();
|
virtual float GetSpeed4();
|
||||||
virtual void FillMFObjectPart(Room* room, Human* hum, cs::MFObjectPart* part_data) override;
|
virtual void FillMFObjectPart(Room* room, Human* hum, cs::MFObjectPart* part_data) override;
|
||||||
|
void FillMFObjectLess(Room* room, Human* hum, cs::MFPlayerFull* full_data);
|
||||||
virtual void FillMFObjectFull(Room* room, Human* hum, cs::MFObjectFull* full_data) override;
|
virtual void FillMFObjectFull(Room* room, Human* hum, cs::MFObjectFull* full_data) override;
|
||||||
virtual void FillMFPlayerStats(cs::MFPlayerStats* stats);
|
virtual void FillMFPlayerStats(cs::MFPlayerStats* stats);
|
||||||
virtual void GetAabbBox(AabbCollider& aabb_box);
|
virtual void GetAabbBox(AabbCollider& aabb_box);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user