完成骏马逻辑

This commit is contained in:
aozhiwei 2020-03-19 16:17:35 +08:00
parent ebf4b2452e
commit f558221358
3 changed files with 31 additions and 1 deletions

View File

@ -722,7 +722,7 @@ void Player::ProcPrepareItems(const ::google::protobuf::RepeatedField< ::google:
MetaData::Equip* item_meta = MetaMgr::Instance()->GetEquip(equip_id);
if (item_meta) {
switch (item_meta->i->equip_type()) {
case 1:
case EQUIP_TYPE_WEAPON:
{
//装备
if (item_meta->i->equip_subtype() == 1) {
@ -760,6 +760,20 @@ void Player::ProcPrepareItems(const ::google::protobuf::RepeatedField< ::google:
}
}
break;
case EQUIP_TYPE_CAR:
{
int car_uniid = room->CreateAndTakeonCar(item_meta->i->id(), GetPos());
if (car_uniid != -1) {
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());
if (buff_meta) {
AddBuff(buff_meta, 1);
}
}
}
break;
default:
{
if (item_meta->i->_inventory_slot() >= 0 &&

View File

@ -1495,6 +1495,21 @@ void Room::TakeOffCarObject(int car_uniid, a8::Vec2 pos)
}
}
int Room::CreateAndTakeonCar(int car_id, a8::Vec2 pos)
{
MetaData::Equip* item_meta = MetaMgr::Instance()->GetEquip(car_id);
if (!item_meta) {
return -1;
}
int car_uniid = AllocUniid();
CarObject car;
car.car_id = car_id;
car.pos = pos;
car.taken = true;
car_hash_[car_uniid] = car;
return car_uniid;
}
void Room::NotifyWxVoip()
{
xtimer.AddDeadLineTimerAndAttach(0,

View File

@ -100,6 +100,7 @@ public:
void UpdateCarObject(int old_uniid, int new_uniid, a8::Vec2 pos);
void TakeOnCarObject(int car_uniid);
void TakeOffCarObject(int car_uniid, a8::Vec2 pos);
int CreateAndTakeonCar(int car_id, a8::Vec2 pos);
private:
int AllocUniid();