56 lines
1.2 KiB
C++
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);
|
|
}
|