#include "precompile.h" #include "hero.h" #include "collider.h" #include "human.h" Hero::Hero(): Entity() { entity_type = ET_Hero; } Hero::~Hero() { } void Hero::Initialize() { Entity::Initialize(); RecalcSelfCollider(); } void Hero::RecalcSelfCollider() { if (!self_collider_) { self_collider_ = new CircleCollider(); self_collider_->owner = this; colliders.push_back(self_collider_); } self_collider_->pos = Vector2D(); 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); pos.ToPB(p->mutable_pos()); attack_dir.ToPB(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); pos.ToPB(p->mutable_pos()); attack_dir.ToPB(p->mutable_dir()); p->set_skin(skin); p->set_backpack(backpack); p->set_helmet(helmet); p->set_chest(chest); weapon.ToPB(p->mutable_weapon()); p->set_energy_shield(energy_shield); } ColliderComponent* Hero::GetBoxBound() { CircleCollider* collider = new CircleCollider(); collider->owner = this; collider->pos = Vector2D(); collider->rad = master->GetRadius(); return collider; }