You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-07 12:30:27 +00:00
Merge pull request #35812 from touilleMan/gdnative-uses-godot_string_name-where-possible
Use StringName in pluginscript's set/get_prop and add_global_constant
This commit is contained in:
@@ -44,13 +44,12 @@ typedef void godot_pluginscript_language_data;
|
|||||||
|
|
||||||
// --- Instance ---
|
// --- Instance ---
|
||||||
|
|
||||||
// TODO: use godot_string_name for faster lookup ?
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
godot_pluginscript_instance_data *(*init)(godot_pluginscript_script_data *p_data, godot_object *p_owner);
|
godot_pluginscript_instance_data *(*init)(godot_pluginscript_script_data *p_data, godot_object *p_owner);
|
||||||
void (*finish)(godot_pluginscript_instance_data *p_data);
|
void (*finish)(godot_pluginscript_instance_data *p_data);
|
||||||
|
|
||||||
godot_bool (*set_prop)(godot_pluginscript_instance_data *p_data, const godot_string *p_name, const godot_variant *p_value);
|
godot_bool (*set_prop)(godot_pluginscript_instance_data *p_data, const godot_string_name *p_name, const godot_variant *p_value);
|
||||||
godot_bool (*get_prop)(godot_pluginscript_instance_data *p_data, const godot_string *p_name, godot_variant *r_ret);
|
godot_bool (*get_prop)(godot_pluginscript_instance_data *p_data, const godot_string_name *p_name, godot_variant *r_ret);
|
||||||
|
|
||||||
godot_variant (*call_method)(godot_pluginscript_instance_data *p_data,
|
godot_variant (*call_method)(godot_pluginscript_instance_data *p_data,
|
||||||
const godot_string_name *p_method, const godot_variant **p_args,
|
const godot_string_name *p_method, const godot_variant **p_args,
|
||||||
@@ -136,7 +135,7 @@ typedef struct {
|
|||||||
godot_error (*complete_code)(godot_pluginscript_language_data *p_data, const godot_string *p_code, const godot_string *p_path, godot_object *p_owner, godot_array *r_options, godot_bool *r_force, godot_string *r_call_hint);
|
godot_error (*complete_code)(godot_pluginscript_language_data *p_data, const godot_string *p_code, const godot_string *p_path, godot_object *p_owner, godot_array *r_options, godot_bool *r_force, godot_string *r_call_hint);
|
||||||
void (*auto_indent_code)(godot_pluginscript_language_data *p_data, godot_string *p_code, int p_from_line, int p_to_line);
|
void (*auto_indent_code)(godot_pluginscript_language_data *p_data, godot_string *p_code, int p_from_line, int p_to_line);
|
||||||
|
|
||||||
void (*add_global_constant)(godot_pluginscript_language_data *p_data, const godot_string *p_variable, const godot_variant *p_value);
|
void (*add_global_constant)(godot_pluginscript_language_data *p_data, const godot_string_name *p_variable, const godot_variant *p_value);
|
||||||
godot_string (*debug_get_error)(godot_pluginscript_language_data *p_data);
|
godot_string (*debug_get_error)(godot_pluginscript_language_data *p_data);
|
||||||
int (*debug_get_stack_level_count)(godot_pluginscript_language_data *p_data);
|
int (*debug_get_stack_level_count)(godot_pluginscript_language_data *p_data);
|
||||||
int (*debug_get_stack_level_line)(godot_pluginscript_language_data *p_data, int p_level);
|
int (*debug_get_stack_level_line)(godot_pluginscript_language_data *p_data, int p_level);
|
||||||
|
|||||||
@@ -39,13 +39,11 @@
|
|||||||
#include "pluginscript_script.h"
|
#include "pluginscript_script.h"
|
||||||
|
|
||||||
bool PluginScriptInstance::set(const StringName &p_name, const Variant &p_value) {
|
bool PluginScriptInstance::set(const StringName &p_name, const Variant &p_value) {
|
||||||
String name = String(p_name);
|
return _desc->set_prop(_data, (const godot_string_name *)&p_name, (const godot_variant *)&p_value);
|
||||||
return _desc->set_prop(_data, (const godot_string *)&name, (const godot_variant *)&p_value);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool PluginScriptInstance::get(const StringName &p_name, Variant &r_ret) const {
|
bool PluginScriptInstance::get(const StringName &p_name, Variant &r_ret) const {
|
||||||
String name = String(p_name);
|
return _desc->get_prop(_data, (const godot_string_name *)&p_name, (godot_variant *)&r_ret);
|
||||||
return _desc->get_prop(_data, (const godot_string *)&name, (godot_variant *)&r_ret);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Ref<Script> PluginScriptInstance::get_script() const {
|
Ref<Script> PluginScriptInstance::get_script() const {
|
||||||
|
|||||||
@@ -187,8 +187,7 @@ void PluginScriptLanguage::auto_indent_code(String &p_code, int p_from_line, int
|
|||||||
}
|
}
|
||||||
|
|
||||||
void PluginScriptLanguage::add_global_constant(const StringName &p_variable, const Variant &p_value) {
|
void PluginScriptLanguage::add_global_constant(const StringName &p_variable, const Variant &p_value) {
|
||||||
const String variable = String(p_variable);
|
_desc.add_global_constant(_data, (godot_string_name *)&p_variable, (godot_variant *)&p_value);
|
||||||
_desc.add_global_constant(_data, (godot_string *)&variable, (godot_variant *)&p_value);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* LOADER FUNCTIONS */
|
/* LOADER FUNCTIONS */
|
||||||
|
|||||||
Reference in New Issue
Block a user