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