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="."]
|
[node name="Inventory" type="Inventory" parent="."]
|
||||||
weapon_id = 2
|
weapon_id = 2
|
||||||
|
utility_id = 3
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
|
|
||||||
[node name="NavigationAgent3D" type="NavigationAgent3D" parent="."]
|
[node name="NavigationAgent3D" type="NavigationAgent3D" parent="."]
|
||||||
|
|
|
@ -7,6 +7,7 @@ void Inventory::_bind_methods() {
|
||||||
#define CLASSNAME Inventory
|
#define CLASSNAME Inventory
|
||||||
GDPROPERTY_HINTED(weapon_id, gd::Variant::INT, gd::PROPERTY_HINT_ENUM, ItemDB::get_enum_hint());
|
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(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);
|
GDPROPERTY(inventory_inspector, gd::Variant::DICTIONARY);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -56,12 +57,20 @@ Item const *Inventory::get_armour() const {
|
||||||
return this->armour;
|
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) {
|
void Inventory::set_weapon_id(int item_id) {
|
||||||
this->set_weapon(ItemDB::get_item(item_id));
|
this->set_weapon(ItemDB::get_item(item_id));
|
||||||
}
|
}
|
||||||
|
|
||||||
int Inventory::get_weapon_id() const {
|
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) {
|
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 {
|
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) {
|
void Inventory::set_inventory_inspector(gd::Dictionary dict) {
|
||||||
|
|
|
@ -23,15 +23,19 @@ public:
|
||||||
unsigned get_item_amount(Item const *item);
|
unsigned get_item_amount(Item const *item);
|
||||||
bool has_item(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;
|
Item const *get_weapon() const;
|
||||||
void set_armour(Item const *weapon);
|
void set_armour(Item const *item);
|
||||||
Item const *get_armour() const;
|
Item const *get_armour() const;
|
||||||
|
void set_utility(Item const *item);
|
||||||
|
Item const *get_utility() const;
|
||||||
|
|
||||||
void set_weapon_id(int item_id);
|
void set_weapon_id(int item_id);
|
||||||
int get_weapon_id() const;
|
int get_weapon_id() const;
|
||||||
void set_armour_id(int item_id);
|
void set_armour_id(int item_id);
|
||||||
int get_armour_id() const;
|
int get_armour_id() const;
|
||||||
|
void set_utility_id(int item_id);
|
||||||
|
int get_utility_id() const;
|
||||||
void set_inventory_inspector(gd::Dictionary dict);
|
void set_inventory_inspector(gd::Dictionary dict);
|
||||||
gd::Dictionary get_inventory_inspector() const;
|
gd::Dictionary get_inventory_inspector() const;
|
||||||
private:
|
private:
|
||||||
|
|
Loading…
Reference in a new issue