feat: exposed Inventory::get_/set_utility_id to editor
This commit is contained in:
parent
6185722f50
commit
1c1c7977de
|
@ -35,6 +35,7 @@ unique_name_in_owner = true
|
|||
|
||||
[node name="Inventory" type="Inventory" parent="."]
|
||||
weapon_id = 2
|
||||
utility_id = 3
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="NavigationAgent3D" type="NavigationAgent3D" parent="."]
|
||||
|
|
|
@ -7,6 +7,7 @@ void Inventory::_bind_methods() {
|
|||
#define CLASSNAME Inventory
|
||||
GDPROPERTY_HINTED(weapon_id, gd::Variant::INT, gd::PROPERTY_HINT_ENUM, ItemDB::get_enum_hint());
|
||||
GDPROPERTY_HINTED(armour_id, gd::Variant::INT, gd::PROPERTY_HINT_ENUM, ItemDB::get_enum_hint());
|
||||
GDPROPERTY_HINTED(utility_id, gd::Variant::INT, gd::PROPERTY_HINT_ENUM, ItemDB::get_enum_hint());
|
||||
GDPROPERTY(inventory_inspector, gd::Variant::DICTIONARY);
|
||||
}
|
||||
|
||||
|
@ -56,12 +57,20 @@ Item const *Inventory::get_armour() const {
|
|||
return this->armour;
|
||||
}
|
||||
|
||||
void Inventory::set_utility(Item const *item) {
|
||||
this->utility = item != nullptr && item->has_capability(ItemCapability::UtilityEquip) ? item : nullptr;
|
||||
}
|
||||
|
||||
Item const *Inventory::get_utility() const {
|
||||
return this->utility;
|
||||
}
|
||||
|
||||
void Inventory::set_weapon_id(int item_id) {
|
||||
this->set_weapon(ItemDB::get_item(item_id));
|
||||
}
|
||||
|
||||
int Inventory::get_weapon_id() const {
|
||||
return this->weapon ? this->weapon->get_id() : 0;
|
||||
return this->weapon != nullptr ? this->weapon->get_id() : 0;
|
||||
}
|
||||
|
||||
void Inventory::set_armour_id(int item_id) {
|
||||
|
@ -69,7 +78,15 @@ void Inventory::set_armour_id(int item_id) {
|
|||
}
|
||||
|
||||
int Inventory::get_armour_id() const {
|
||||
return this->armour ? this->armour->get_id() : 0;
|
||||
return this->armour != nullptr ? this->armour->get_id() : 0;
|
||||
}
|
||||
|
||||
void Inventory::set_utility_id(int item_id) {
|
||||
this->set_utility(ItemDB::get_item(item_id));
|
||||
}
|
||||
|
||||
int Inventory::get_utility_id() const {
|
||||
return this->utility != nullptr ? this->utility->get_id() : 0;
|
||||
}
|
||||
|
||||
void Inventory::set_inventory_inspector(gd::Dictionary dict) {
|
||||
|
|
|
@ -23,15 +23,19 @@ public:
|
|||
unsigned get_item_amount(Item const *item);
|
||||
bool has_item(Item const *item);
|
||||
|
||||
void set_weapon(Item const *weapon);
|
||||
void set_weapon(Item const *item);
|
||||
Item const *get_weapon() const;
|
||||
void set_armour(Item const *weapon);
|
||||
void set_armour(Item const *item);
|
||||
Item const *get_armour() const;
|
||||
void set_utility(Item const *item);
|
||||
Item const *get_utility() const;
|
||||
|
||||
void set_weapon_id(int item_id);
|
||||
int get_weapon_id() const;
|
||||
void set_armour_id(int item_id);
|
||||
int get_armour_id() const;
|
||||
void set_utility_id(int item_id);
|
||||
int get_utility_id() const;
|
||||
void set_inventory_inspector(gd::Dictionary dict);
|
||||
gd::Dictionary get_inventory_inspector() const;
|
||||
private:
|
||||
|
|
Loading…
Reference in a new issue