2019-07-20 17:57:34 +08:00

56 lines
1.2 KiB
C++

#include "precompile.h"
#include "hero.h"
#include "collider.h"
#include "human.h"
#include "typeconvert.h"
Hero::Hero(): Entity()
{
entity_type = kET_Hero;
}
Hero::~Hero()
{
}
void Hero::Initialize()
{
Entity::Initialize();
RecalcSelfCollider();
}
void Hero::RecalcSelfCollider()
{
if (!self_collider_) {
self_collider_ = new CircleCollider();
self_collider_->owner = this;
AddCollider(self_collider_);
}
self_collider_->pos = a8::Vec2();
self_collider_->rad = master->GetRadius();
}
void Hero::FillMFObjectPart(cs::MFObjectPart* part_data)
{
part_data->set_object_type(entity_type);
cs::MFHeroPart* p = part_data->mutable_union_obj_10();
p->set_obj_uniid(entity_uniid);
TypeConvert::ToPb(pos, p->mutable_pos());
TypeConvert::ToPb(attack_dir, p->mutable_dir());
}
void Hero::FillMFObjectFull(cs::MFObjectFull* full_data)
{
full_data->set_object_type(entity_type);
cs::MFHeroFull* p = full_data->mutable_union_obj_10();
p->set_obj_uniid(entity_uniid);
TypeConvert::ToPb(pos, p->mutable_pos());
TypeConvert::ToPb(attack_dir, p->mutable_dir());
skin.ToPB(p->mutable_skin());
weapon.ToPB(p->mutable_weapon());
p->set_energy_shield(energy_shield);
}