instance_placeholder.h
1 #ifndef INSTANCE_PLACEHOLDER_H
2 #define INSTANCE_PLACEHOLDER_H
3 
4 #include "scene/main/node.h"
5 
6 class PackedScene;
7 
8 class InstancePlaceholder : public Node {
9 
10  OBJ_TYPE(InstancePlaceholder,Node);
11 
12  String path;
13  struct PropSet {
14  StringName name;
15  Variant value;
16  };
17 
18  List<PropSet> stored_values;
19 
20 protected:
21  bool _set(const StringName& p_name, const Variant& p_value);
22  bool _get(const StringName& p_name,Variant &r_ret) const;
23  void _get_property_list( List<PropertyInfo> *p_list) const;
24 
25  static void _bind_methods();
26 
27 public:
28 
29  void set_instance_path(const String& p_name);
30  String get_instance_path() const;
31 
32  void replace_by_instance(const Ref<PackedScene>& p_custom_scene=Ref<PackedScene>());
33 
35 };
36 
37 #endif // INSTANCE_PLACEHOLDER_H
Definition: variant.h:74
Definition: node.h:42
Definition: string_db.h:48
Definition: packed_scene.h:187
Definition: instance_placeholder.h:8
Definition: ustring.h:64