1
This commit is contained in:
parent
b91f37ae3a
commit
8d1df1ac1c
@ -21,6 +21,10 @@ Car::~Car()
|
||||
void Car::Initialize()
|
||||
{
|
||||
MoveableEntity::Initialize();
|
||||
hero_meta_ = MetaMgr::Instance()->GetPlayer(meta->i->heroid());
|
||||
if (!hero_meta_) {
|
||||
abort();
|
||||
}
|
||||
}
|
||||
|
||||
void Car::FillMFObjectPart(Room* room, Human* hum, cs::MFObjectPart* part_data)
|
||||
|
@ -8,6 +8,7 @@
|
||||
#include "bullet.h"
|
||||
#include "android.h"
|
||||
#include "player.h"
|
||||
#include "car.h"
|
||||
|
||||
void EntityFactory::Init()
|
||||
{
|
||||
@ -78,3 +79,11 @@ Player* EntityFactory::MakePlayer(int entity_uniid)
|
||||
hum->entity_subtype_ = EST_Player;
|
||||
return hum;
|
||||
}
|
||||
|
||||
Car* EntityFactory::MakeCar(int entity_uniid)
|
||||
{
|
||||
Car* hum = new Car();
|
||||
hum->entity_uniid_ = entity_uniid;
|
||||
hum->entity_type_ = ET_Car;
|
||||
return hum;
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ class Loot;
|
||||
class Bullet;
|
||||
class Android;
|
||||
class Player;
|
||||
class Car;
|
||||
class EntityFactory : public a8::Singleton<EntityFactory>
|
||||
{
|
||||
private:
|
||||
@ -24,6 +25,7 @@ class EntityFactory : public a8::Singleton<EntityFactory>
|
||||
Bullet* MakeBullet(int entity_uniid);
|
||||
Android* MakeAndroid(int entity_uniid);
|
||||
Player* MakePlayer(int entity_uniid);
|
||||
Car* MakeCar(int entity_uniid);
|
||||
|
||||
private:
|
||||
};
|
||||
|
@ -549,19 +549,21 @@ void Room::CreateBullet(Human* hum,
|
||||
|
||||
Car* Room::CreateCar(Human* driver,
|
||||
int car_uniid,
|
||||
MetaData::Equip* meta,
|
||||
MetaData::Equip* item_meta,
|
||||
const a8::Vec2& pos)
|
||||
{
|
||||
Car* car = nullptr;
|
||||
#if 0
|
||||
car_.car_uniid = car_uniid;
|
||||
car_.car_id = item_meta->i->id();
|
||||
car_.meta = item_meta;
|
||||
MetaData::Buff* buff_meta = MetaMgr::Instance()->GetBuff(car_.meta->i->buffid());
|
||||
Car* car = EntityFactory::Instance()->MakeCar(car_uniid);
|
||||
car->meta = item_meta;
|
||||
car->room = this;
|
||||
car->SetPos(pos);
|
||||
MetaData::Buff* buff_meta = MetaMgr::Instance()->GetBuff(car->meta->i->buffid());
|
||||
if (buff_meta) {
|
||||
AddBuff(this, buff_meta, 1);
|
||||
driver->AddBuff(driver, buff_meta, 1);
|
||||
}
|
||||
#endif
|
||||
car->Initialize();
|
||||
AddToEntityHash(car);
|
||||
grid_service->AddCar(car);
|
||||
car->BroadcastFullState(this);
|
||||
return car;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user