1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-27 15:57:02 +00:00

Merge pull request #24877 from neikeq/issue-24280

Fix properties being lost when reloading placeholder GDScript instance
This commit is contained in:
Rémi Verschelde
2019-01-10 18:02:57 +01:00
committed by GitHub
6 changed files with 51 additions and 40 deletions

View File

@@ -146,6 +146,8 @@ public:
virtual void get_constants(Map<StringName, Variant> *p_constants) {}
virtual void get_members(Set<StringName> *p_constants) {}
virtual bool is_placeholder_fallback_enabled() const { return false; }
Script() {}
};
@@ -334,8 +336,6 @@ class PlaceHolderScriptInstance : public ScriptInstance {
ScriptLanguage *language;
Ref<Script> script;
bool build_failed;
public:
virtual bool set(const StringName &p_name, const Variant &p_value);
virtual bool get(const StringName &p_name, Variant &r_ret) const;
@@ -361,13 +361,10 @@ public:
void update(const List<PropertyInfo> &p_properties, const Map<StringName, Variant> &p_values); //likely changed in editor
void set_build_failed(bool p_build_failed) { build_failed = p_build_failed; }
bool get_build_failed() const { return build_failed; }
virtual bool is_placeholder() const { return true; }
virtual void property_set_fallback(const StringName &p_name, const Variant &p_value, bool *r_valid);
virtual Variant property_get_fallback(const StringName &p_name, bool *r_valid);
virtual void property_set_fallback(const StringName &p_name, const Variant &p_value, bool *r_valid = NULL);
virtual Variant property_get_fallback(const StringName &p_name, bool *r_valid = NULL);
virtual MultiplayerAPI::RPCMode get_rpc_mode(const StringName &p_method) const { return MultiplayerAPI::RPC_MODE_DISABLED; }
virtual MultiplayerAPI::RPCMode get_rset_mode(const StringName &p_variable) const { return MultiplayerAPI::RPC_MODE_DISABLED; }