重构FillMFObjectPart FillMFObjectFull
This commit is contained in:
parent
4fcf8e5a75
commit
5c55dc75d2
@ -39,7 +39,7 @@ void Building::RecalcSelfCollider()
|
||||
}
|
||||
}
|
||||
|
||||
void Building::FillMFObjectPart(cs::MFObjectPart* part_data)
|
||||
void Building::FillMFObjectPart(Human* hum, cs::MFObjectPart* part_data)
|
||||
{
|
||||
part_data->set_object_type(ET_Building);
|
||||
cs::MFBuildingPart* p = part_data->mutable_union_obj_3();
|
||||
@ -47,7 +47,7 @@ void Building::FillMFObjectPart(cs::MFObjectPart* part_data)
|
||||
TypeConvert::ToPb(pos, p->mutable_pos());
|
||||
}
|
||||
|
||||
void Building::FillMFObjectFull(cs::MFObjectFull* full_data)
|
||||
void Building::FillMFObjectFull(Human* hum, cs::MFObjectFull* full_data)
|
||||
{
|
||||
full_data->set_object_type(ET_Building);
|
||||
cs::MFBuildingFull* p = full_data->mutable_union_obj_3();
|
||||
|
@ -22,7 +22,7 @@ class Building : public Entity
|
||||
virtual ~Building() override;
|
||||
virtual void Initialize() override;
|
||||
void RecalcSelfCollider();
|
||||
virtual void FillMFObjectPart(cs::MFObjectPart* part_data) override;
|
||||
virtual void FillMFObjectFull(cs::MFObjectFull* full_data) override;
|
||||
virtual void FillMFObjectPart(Human* hum, cs::MFObjectPart* part_data) override;
|
||||
virtual void FillMFObjectFull(Human* hum, cs::MFObjectFull* full_data) override;
|
||||
virtual void GetAabbBox(AabbCollider& aabb_box) override;
|
||||
};
|
||||
|
@ -8,6 +8,7 @@ namespace cs
|
||||
class MFObjectFull;
|
||||
}
|
||||
|
||||
class Human;
|
||||
class Room;
|
||||
class Obstacle;
|
||||
class ColliderComponent;
|
||||
@ -36,8 +37,8 @@ class Entity
|
||||
virtual ~Entity();
|
||||
virtual void Initialize();
|
||||
virtual void Update(int delta_time) {};
|
||||
virtual void FillMFObjectPart(cs::MFObjectPart* part_data) {};
|
||||
virtual void FillMFObjectFull(cs::MFObjectFull* full_data) {};
|
||||
virtual void FillMFObjectPart(Human* hum, cs::MFObjectPart* part_data) {};
|
||||
virtual void FillMFObjectFull(Human* hum, cs::MFObjectFull* full_data) {};
|
||||
virtual float GetSpeed() { return 1.0f;};
|
||||
virtual void GetAabbBox(AabbCollider& aabb_box);
|
||||
virtual void GetCircleBox(CircleCollider& circle_box);
|
||||
|
@ -21,7 +21,7 @@ cs::SMUpdate* FrameMaker::MakeUpdateMsg(const Human* hum)
|
||||
a8::HasBitFlag(((Human*)itr)->status, HS_Fly)) {
|
||||
continue;
|
||||
}
|
||||
itr->FillMFObjectFull(msg->add_full_objects());
|
||||
itr->FillMFObjectFull((Human*)hum, msg->add_full_objects());
|
||||
}
|
||||
for (auto& itr : hum->part_objects) {
|
||||
Entity* entity = itr;
|
||||
@ -35,7 +35,7 @@ cs::SMUpdate* FrameMaker::MakeUpdateMsg(const Human* hum)
|
||||
continue;
|
||||
}
|
||||
}
|
||||
entity->FillMFObjectPart(msg->add_part_objects());
|
||||
entity->FillMFObjectPart((Human*)hum, msg->add_part_objects());
|
||||
}
|
||||
for (auto& itr : hum->del_objects) {
|
||||
msg->add_del_objids(itr);
|
||||
|
@ -32,7 +32,7 @@ void Hero::RecalcSelfCollider()
|
||||
self_collider_->rad = master->GetRadius();
|
||||
}
|
||||
|
||||
void Hero::FillMFObjectPart(cs::MFObjectPart* part_data)
|
||||
void Hero::FillMFObjectPart(Human* hum, cs::MFObjectPart* part_data)
|
||||
{
|
||||
part_data->set_object_type(entity_type);
|
||||
cs::MFHeroPart* p = part_data->mutable_union_obj_10();
|
||||
@ -41,7 +41,7 @@ void Hero::FillMFObjectPart(cs::MFObjectPart* part_data)
|
||||
TypeConvert::ToPb(attack_dir, p->mutable_dir());
|
||||
}
|
||||
|
||||
void Hero::FillMFObjectFull(cs::MFObjectFull* full_data)
|
||||
void Hero::FillMFObjectFull(Human* hum, cs::MFObjectFull* full_data)
|
||||
{
|
||||
full_data->set_object_type(entity_type);
|
||||
cs::MFHeroFull* p = full_data->mutable_union_obj_10();
|
||||
|
@ -26,8 +26,8 @@ class Hero : public Entity
|
||||
virtual ~Hero() override;
|
||||
virtual void Initialize() override;
|
||||
void RecalcSelfCollider();
|
||||
virtual void FillMFObjectPart(cs::MFObjectPart* part_data) override;
|
||||
virtual void FillMFObjectFull(cs::MFObjectFull* full_data) override;
|
||||
virtual void FillMFObjectPart(Human* hum, cs::MFObjectPart* part_data) override;
|
||||
virtual void FillMFObjectFull(Human* hum, cs::MFObjectFull* full_data) override;
|
||||
|
||||
private:
|
||||
CircleCollider* self_collider_ = nullptr;
|
||||
|
@ -93,7 +93,7 @@ float Human::GetSpeed4()
|
||||
return meta->i->move_speed4();
|
||||
}
|
||||
|
||||
void Human::FillMFObjectPart(cs::MFObjectPart* part_data)
|
||||
void Human::FillMFObjectPart(Human* hum, cs::MFObjectPart* part_data)
|
||||
{
|
||||
part_data->set_object_type(ET_Player);
|
||||
cs::MFPlayerPart* p = part_data->mutable_union_obj_1();
|
||||
@ -102,7 +102,7 @@ void Human::FillMFObjectPart(cs::MFObjectPart* part_data)
|
||||
TypeConvert::ToPb(attack_dir, p->mutable_dir());
|
||||
}
|
||||
|
||||
void Human::FillMFObjectFull(cs::MFObjectFull* full_data)
|
||||
void Human::FillMFObjectFull(Human* hum, cs::MFObjectFull* full_data)
|
||||
{
|
||||
full_data->set_object_type(ET_Player);
|
||||
cs::MFPlayerFull* p = full_data->mutable_union_obj_1();
|
||||
@ -1655,7 +1655,7 @@ void Human::SendUpdateMsg()
|
||||
}
|
||||
for (Entity* entity : view_objects) {
|
||||
if (new_objects.find(entity) == new_objects.end()) {
|
||||
entity->FillMFObjectFull(msg->add_full_objects());
|
||||
entity->FillMFObjectFull(this, msg->add_full_objects());
|
||||
}
|
||||
}
|
||||
refreshed_view = true;
|
||||
|
@ -138,8 +138,8 @@ class Human : public Entity
|
||||
virtual void Initialize() override;
|
||||
virtual float GetSpeed() override;
|
||||
virtual float GetSpeed4();
|
||||
virtual void FillMFObjectPart(cs::MFObjectPart* part_data) override;
|
||||
virtual void FillMFObjectFull(cs::MFObjectFull* full_data) override;
|
||||
virtual void FillMFObjectPart(Human* hum, cs::MFObjectPart* part_data) override;
|
||||
virtual void FillMFObjectFull(Human* hum, cs::MFObjectFull* full_data) override;
|
||||
virtual void FillMFPlayerStats(cs::MFPlayerStats* stats);
|
||||
virtual void GetAabbBox(AabbCollider& aabb_box);
|
||||
void FillMFTeamData(cs::MFTeamData* team_data);
|
||||
|
@ -29,7 +29,7 @@ void Loot::RecalcSelfCollider()
|
||||
{
|
||||
}
|
||||
|
||||
void Loot::FillMFObjectPart(cs::MFObjectPart* part_data)
|
||||
void Loot::FillMFObjectPart(Human* hum, cs::MFObjectPart* part_data)
|
||||
{
|
||||
part_data->set_object_type(ET_Loot);
|
||||
cs::MFLootPart* p = part_data->mutable_union_obj_5();
|
||||
@ -37,7 +37,7 @@ void Loot::FillMFObjectPart(cs::MFObjectPart* part_data)
|
||||
TypeConvert::ToPb(pos, p->mutable_pos());
|
||||
}
|
||||
|
||||
void Loot::FillMFObjectFull(cs::MFObjectFull* full_data)
|
||||
void Loot::FillMFObjectFull(Human* hum, cs::MFObjectFull* full_data)
|
||||
{
|
||||
full_data->set_object_type(ET_Loot);
|
||||
cs::MFLootFull* p = full_data->mutable_union_obj_5();
|
||||
|
@ -26,6 +26,6 @@ class Loot : public Entity
|
||||
virtual ~Loot() override;
|
||||
virtual void Initialize() override;
|
||||
void RecalcSelfCollider();
|
||||
virtual void FillMFObjectPart(cs::MFObjectPart* part_data) override;
|
||||
virtual void FillMFObjectFull(cs::MFObjectFull* full_data) override;
|
||||
virtual void FillMFObjectPart(Human* hum, cs::MFObjectPart* part_data) override;
|
||||
virtual void FillMFObjectFull(Human* hum, cs::MFObjectFull* full_data) override;
|
||||
};
|
||||
|
@ -93,7 +93,7 @@ void Obstacle::RecalcSelfCollider()
|
||||
}
|
||||
}
|
||||
|
||||
void Obstacle::FillMFObjectPart(cs::MFObjectPart* part_data)
|
||||
void Obstacle::FillMFObjectPart(Human* hum, cs::MFObjectPart* part_data)
|
||||
{
|
||||
part_data->set_object_type(ET_Obstacle);
|
||||
cs::MFObstaclePart* p = part_data->mutable_union_obj_2();
|
||||
@ -102,7 +102,7 @@ void Obstacle::FillMFObjectPart(cs::MFObjectPart* part_data)
|
||||
p->set_scale(1.0f);
|
||||
}
|
||||
|
||||
void Obstacle::FillMFObjectFull(cs::MFObjectFull* full_data)
|
||||
void Obstacle::FillMFObjectFull(Human* hum, cs::MFObjectFull* full_data)
|
||||
{
|
||||
full_data->set_object_type(ET_Obstacle);
|
||||
cs::MFObstacleFull* p = full_data->mutable_union_obj_2();
|
||||
|
@ -39,8 +39,8 @@ class Obstacle : public Entity
|
||||
virtual ~Obstacle() override;
|
||||
virtual void Initialize() override;
|
||||
void RecalcSelfCollider();
|
||||
virtual void FillMFObjectPart(cs::MFObjectPart* part_data) override;
|
||||
virtual void FillMFObjectFull(cs::MFObjectFull* full_data) override;
|
||||
virtual void FillMFObjectPart(Human* hum, cs::MFObjectPart* part_data) override;
|
||||
virtual void FillMFObjectFull(Human* hum, cs::MFObjectFull* full_data) override;
|
||||
virtual void GetAabbBox(AabbCollider& aabb_box) override;
|
||||
virtual void GetCircleBox(CircleCollider& circle_box) override;
|
||||
void Explosion(Bullet* bullet);
|
||||
|
Loading…
x
Reference in New Issue
Block a user