完成building重构
This commit is contained in:
parent
5577b62d8c
commit
db4126ced0
@ -39,8 +39,10 @@ void Building::RecalcSelfCollider()
|
||||
}
|
||||
for (auto& obj : meta->i->dropobj()) {
|
||||
room->CreateLoot(obj.id(),
|
||||
pos.x + obj.x() - meta->i->tilewidth() / 2.0,
|
||||
pos.y + obj.y() - meta->i->tileheight() / 2.0,
|
||||
Vector2D(
|
||||
pos.x + obj.x() - meta->i->tilewidth() / 2.0,
|
||||
pos.y + obj.y() - meta->i->tileheight() / 2.0
|
||||
),
|
||||
1
|
||||
);
|
||||
}
|
||||
|
@ -682,6 +682,11 @@ void Player::UpdateDropWeapon()
|
||||
}
|
||||
}
|
||||
if (drop_ok) {
|
||||
{
|
||||
Vector2D dir = Vector2D::UP;
|
||||
dir.Rotate(a8::RandAngle());
|
||||
room->CreateLoot(weapon_id, pos + dir * (25 + rand() % 50), 1);
|
||||
}
|
||||
#if 1
|
||||
{
|
||||
MetaData::Equip* equip_meta = MetaMgr::Instance()->GetEquip(weapon_id);
|
||||
|
@ -468,7 +468,7 @@ void Room::CreateHouseObstacle(Building* building, int id, float x, float y)
|
||||
}
|
||||
}
|
||||
|
||||
void Room::CreateLoot(int equip_id, float x, float y, int count)
|
||||
void Room::CreateLoot(int equip_id, Vector2D pos, int count)
|
||||
{
|
||||
MetaData::Equip* equip_meta = MetaMgr::Instance()->GetEquip(equip_id);
|
||||
if (equip_meta) {
|
||||
@ -476,12 +476,7 @@ void Room::CreateLoot(int equip_id, float x, float y, int count)
|
||||
entity->room = this;
|
||||
entity->meta = equip_meta;
|
||||
entity->entity_uniid = AllocUniid();
|
||||
#if 1
|
||||
entity->pos = Vector2D(x, y);
|
||||
#else
|
||||
entity->pos = Vector2D(pos.x + obj.x() - meta->i->tilewidth() / 2.0,
|
||||
pos.y + obj.y() - meta->i->tileheight() / 2.0);
|
||||
#endif
|
||||
entity->pos = pos;
|
||||
entity->item_id = equip_id;
|
||||
entity->count = count;
|
||||
entity->Initialize();
|
||||
|
@ -66,7 +66,7 @@ public:
|
||||
void DropItem(Vector2D pos, int item_id);
|
||||
void CreateDoor(Building* building, int door_idx);
|
||||
void CreateHouseObstacle(Building* building, int id, float x, float y);
|
||||
void CreateLoot(int equip_id, float x, float y, int count);
|
||||
void CreateLoot(int equip_id, Vector2D pos, int count);
|
||||
|
||||
private:
|
||||
void ClearDeletedObjects();
|
||||
|
Loading…
x
Reference in New Issue
Block a user