ActionBarButtonEntry now also uses StringNames of resource paths instead of ints.

This commit is contained in:
Relintai 2020-04-19 17:47:14 +02:00
parent fa8f38fa5d
commit db04b24273
3 changed files with 30 additions and 32 deletions

View File

@ -24,7 +24,7 @@ SOFTWARE.
#include "action_bar_entry.h" #include "action_bar_entry.h"
const String ActionBarButtonEntry::BINDING_STRING_ACTIONBAR_BUTTON_ENTRY_TYPE = "None, Spell, Item"; const String ActionBarButtonEntry::BINDING_STRING_ACTIONBAR_BUTTON_ENTRY_TYPE = "None,Spell,Item";
Ref<ActionBarEntry> ActionBarButtonEntry::get_owner() { Ref<ActionBarEntry> ActionBarButtonEntry::get_owner() {
return Ref<ActionBarEntry>(_owner); return Ref<ActionBarEntry>(_owner);
@ -33,42 +33,42 @@ void ActionBarButtonEntry::set_owner(ActionBarEntry *owner) {
_owner = owner; _owner = owner;
} }
int ActionBarButtonEntry::get_action_bar_id() { int ActionBarButtonEntry::get_action_bar_id() const {
return _action_bar_id; return _action_bar_id;
} }
void ActionBarButtonEntry::set_action_bar_id(int value) { void ActionBarButtonEntry::set_action_bar_id(const int value) {
_action_bar_id = value; _action_bar_id = value;
emit_change(); emit_change();
} }
int ActionBarButtonEntry::get_slot_id() { int ActionBarButtonEntry::get_slot_id() const {
return _slot_id; return _slot_id;
} }
void ActionBarButtonEntry::set_slot_id(int value) { void ActionBarButtonEntry::set_slot_id(const int value) {
_slot_id = value; _slot_id = value;
emit_change(); emit_change();
} }
ActionBarButtonEntry::ActionBarButtonEntryType ActionBarButtonEntry::get_type() { ActionBarButtonEntry::ActionBarButtonEntryType ActionBarButtonEntry::get_type() const {
return _type; return _type;
} }
void ActionBarButtonEntry::set_type(ActionBarButtonEntry::ActionBarButtonEntryType value) { void ActionBarButtonEntry::set_type(const ActionBarButtonEntry::ActionBarButtonEntryType value) {
_type = value; _type = value;
emit_change(); emit_change();
} }
int ActionBarButtonEntry::get_item_id() { StringName ActionBarButtonEntry::get_item_path() const {
return _item_id; return _item_path;
} }
void ActionBarButtonEntry::set_item_id(int value) { void ActionBarButtonEntry::set_item_path(const StringName &value) {
_item_id = value; _item_path = value;
emit_change(); emit_change();
} }
@ -86,7 +86,7 @@ Dictionary ActionBarButtonEntry::to_dict() const {
dict["action_bar_id"] = _action_bar_id; dict["action_bar_id"] = _action_bar_id;
dict["slot_id"] = _slot_id; dict["slot_id"] = _slot_id;
dict["type"] = _type; dict["type"] = _type;
dict["item_id"] = _item_id; dict["item_path"] = _item_path;
return dict; return dict;
} }
@ -96,7 +96,7 @@ void ActionBarButtonEntry::from_dict(const Dictionary &dict) {
_action_bar_id = dict.get("action_bar_id", 0); _action_bar_id = dict.get("action_bar_id", 0);
_slot_id = dict.get("slot_id", 0); _slot_id = dict.get("slot_id", 0);
_type = VariantCaster<ActionBarButtonEntryType>().cast(dict.get("type", ACTION_BAR_BUTTON_ENTRY_TYPE_NONE)); _type = VariantCaster<ActionBarButtonEntryType>().cast(dict.get("type", ACTION_BAR_BUTTON_ENTRY_TYPE_NONE));
_item_id = dict.get("item_id", 0); _item_path = dict.get("item_path", "");
emit_change(); emit_change();
} }
@ -107,26 +107,24 @@ ActionBarButtonEntry::ActionBarButtonEntry() {
_action_bar_id = 0; _action_bar_id = 0;
_slot_id = 0; _slot_id = 0;
_type = ACTION_BAR_BUTTON_ENTRY_TYPE_NONE; _type = ACTION_BAR_BUTTON_ENTRY_TYPE_NONE;
_item_id = 0;
} }
ActionBarButtonEntry::ActionBarButtonEntry(int actionBarId, int slotId) { ActionBarButtonEntry::ActionBarButtonEntry(const int actionBarId, const int slotId) {
_owner = NULL; _owner = NULL;
_action_bar_id = actionBarId; _action_bar_id = actionBarId;
_slot_id = slotId; _slot_id = slotId;
_type = ACTION_BAR_BUTTON_ENTRY_TYPE_NONE; _type = ACTION_BAR_BUTTON_ENTRY_TYPE_NONE;
_item_id = 0;
} }
ActionBarButtonEntry::ActionBarButtonEntry(int actionBarId, int slotId, ActionBarButtonEntryType type, int itemId) { ActionBarButtonEntry::ActionBarButtonEntry(const int actionBarId, const int slotId, const ActionBarButtonEntryType type, const StringName &item_path) {
_owner = NULL; _owner = NULL;
_action_bar_id = actionBarId; _action_bar_id = actionBarId;
_slot_id = slotId; _slot_id = slotId;
_type = type; _type = type;
_item_id = itemId; _item_path = item_path;
} }
ActionBarButtonEntry::~ActionBarButtonEntry() { ActionBarButtonEntry::~ActionBarButtonEntry() {
@ -149,9 +147,9 @@ void ActionBarButtonEntry::_bind_methods() {
ClassDB::bind_method(D_METHOD("set_type", "value"), &ActionBarButtonEntry::set_type); ClassDB::bind_method(D_METHOD("set_type", "value"), &ActionBarButtonEntry::set_type);
ADD_PROPERTY(PropertyInfo(Variant::INT, "type", PROPERTY_HINT_ENUM, ActionBarButtonEntry::BINDING_STRING_ACTIONBAR_BUTTON_ENTRY_TYPE), "set_type", "get_type"); ADD_PROPERTY(PropertyInfo(Variant::INT, "type", PROPERTY_HINT_ENUM, ActionBarButtonEntry::BINDING_STRING_ACTIONBAR_BUTTON_ENTRY_TYPE), "set_type", "get_type");
ClassDB::bind_method(D_METHOD("get_item_id"), &ActionBarButtonEntry::get_item_id); ClassDB::bind_method(D_METHOD("get_item_path"), &ActionBarButtonEntry::get_item_path);
ClassDB::bind_method(D_METHOD("set_item_id", "value"), &ActionBarButtonEntry::set_item_id); ClassDB::bind_method(D_METHOD("set_item_path", "value"), &ActionBarButtonEntry::set_item_path);
ADD_PROPERTY(PropertyInfo(Variant::INT, "item_id"), "set_item_id", "get_item_id"); ADD_PROPERTY(PropertyInfo(Variant::STRING, "get_item_path"), "set_item_path", "get_item_path");
ClassDB::bind_method(D_METHOD("from_dict", "dict"), &ActionBarButtonEntry::from_dict); ClassDB::bind_method(D_METHOD("from_dict", "dict"), &ActionBarButtonEntry::from_dict);
ClassDB::bind_method(D_METHOD("to_dict"), &ActionBarButtonEntry::to_dict); ClassDB::bind_method(D_METHOD("to_dict"), &ActionBarButtonEntry::to_dict);

View File

@ -43,17 +43,17 @@ public:
Ref<ActionBarEntry> get_owner(); Ref<ActionBarEntry> get_owner();
void set_owner(ActionBarEntry *owner); void set_owner(ActionBarEntry *owner);
int get_action_bar_id(); int get_action_bar_id() const;
void set_action_bar_id(int value); void set_action_bar_id(const int value);
int get_slot_id(); int get_slot_id() const;
void set_slot_id(int value); void set_slot_id(int value);
ActionBarButtonEntryType get_type(); ActionBarButtonEntryType get_type() const;
void set_type(ActionBarButtonEntryType value); void set_type(const ActionBarButtonEntryType value);
int get_item_id(); StringName get_item_path() const;
void set_item_id(int value); void set_item_path(const StringName &value);
void emit_change(); void emit_change();
@ -61,8 +61,8 @@ public:
void from_dict(const Dictionary &dict); void from_dict(const Dictionary &dict);
ActionBarButtonEntry(); ActionBarButtonEntry();
ActionBarButtonEntry(int actionBarId, int slotId); ActionBarButtonEntry(const int actionBarId, const int slotId);
ActionBarButtonEntry(int actionBarId, int slotId, ActionBarButtonEntryType type, int itemId); ActionBarButtonEntry(const int actionBarId, const int slotId, const ActionBarButtonEntryType type, const StringName &item_path);
~ActionBarButtonEntry(); ~ActionBarButtonEntry();
protected: protected:
@ -72,7 +72,7 @@ private:
int _action_bar_id; int _action_bar_id;
int _slot_id; int _slot_id;
ActionBarButtonEntryType _type; ActionBarButtonEntryType _type;
int _item_id; StringName _item_path;
ActionBarEntry *_owner; ActionBarEntry *_owner;
}; };

View File

@ -85,7 +85,7 @@ Ref<ActionBarButtonEntry> ActionBarEntry::get_button_for_slotid(int slotId) {
} }
} }
Ref<ActionBarButtonEntry> abe = Ref<ActionBarButtonEntry>(memnew(ActionBarButtonEntry(_action_bar_id, slotId, ActionBarButtonEntry::ACTION_BAR_BUTTON_ENTRY_TYPE_NONE, 0))); Ref<ActionBarButtonEntry> abe = Ref<ActionBarButtonEntry>(memnew(ActionBarButtonEntry(_action_bar_id, slotId, ActionBarButtonEntry::ACTION_BAR_BUTTON_ENTRY_TYPE_NONE, StringName())));
abe->set_owner(this); abe->set_owner(this);
_button_entries.push_back(abe); _button_entries.push_back(abe);