summaryrefslogtreecommitdiff
path: root/scene/main
diff options
context:
space:
mode:
Diffstat (limited to 'scene/main')
-rw-r--r--scene/main/http_request.cpp24
-rw-r--r--scene/main/instance_placeholder.cpp19
-rw-r--r--scene/main/instance_placeholder.h2
3 files changed, 32 insertions, 13 deletions
diff --git a/scene/main/http_request.cpp b/scene/main/http_request.cpp
index c713b5e4dc..4b6cbde859 100644
--- a/scene/main/http_request.cpp
+++ b/scene/main/http_request.cpp
@@ -35,7 +35,7 @@ void HTTPRequest::_redirect_request(const String& p_new_url) {
Error HTTPRequest::_request() {
- print_line("Requesting:\n\tURL: "+url+"\n\tString: "+request_string+"\n\tPort: "+itos(port)+"\n\tSSL: "+itos(use_ssl)+"\n\tValidate SSL: "+itos(validate_ssl));
+ //print_line("Requesting:\n\tURL: "+url+"\n\tString: "+request_string+"\n\tPort: "+itos(port)+"\n\tSSL: "+itos(use_ssl)+"\n\tValidate SSL: "+itos(validate_ssl));
return client->connect(url,port,use_ssl,validate_ssl);
}
@@ -53,36 +53,36 @@ Error HTTPRequest::_parse_url(const String& p_url) {
downloaded=0;
redirections=0;
- print_line("1 url: "+url);
+ //print_line("1 url: "+url);
if (url.begins_with("http://")) {
url=url.substr(7,url.length()-7);
- print_line("no SSL");
+ //print_line("no SSL");
} else if (url.begins_with("https://")) {
url=url.substr(8,url.length()-8);
use_ssl=true;
port=443;
- print_line("yes SSL");
+ //print_line("yes SSL");
} else {
ERR_EXPLAIN("Malformed URL");
ERR_FAIL_V(ERR_INVALID_PARAMETER);
}
- print_line("2 url: "+url);
+ //print_line("2 url: "+url);
int slash_pos = url.find("/");
if (slash_pos!=-1) {
request_string=url.substr(slash_pos,url.length());
url=url.substr(0,slash_pos);
- print_line("request string: "+request_string);
+ //print_line("request string: "+request_string);
} else {
request_string="/";
- print_line("no request");
+ //print_line("no request");
}
- print_line("3 url: "+url);
+ //print_line("3 url: "+url);
int colon_pos = url.find(":");
if (colon_pos!=-1) {
@@ -91,7 +91,7 @@ Error HTTPRequest::_parse_url(const String& p_url) {
ERR_FAIL_COND_V(port<1 || port > 65535,ERR_INVALID_PARAMETER);
}
- print_line("4 url: "+url);
+ //print_line("4 url: "+url);
return OK;
}
@@ -224,7 +224,7 @@ bool HTTPRequest::_handle_response(bool *ret_value) {
response_headers.resize(0);
downloaded=0;
for (List<String>::Element *E=rheaders.front();E;E=E->next()) {
- print_line("HEADER: "+E->get());
+ //print_line("HEADER: "+E->get());
response_headers.push_back(E->get());
}
@@ -245,7 +245,7 @@ bool HTTPRequest::_handle_response(bool *ret_value) {
}
}
- print_line("NEW LOCATION: "+new_request);
+ //print_line("NEW LOCATION: "+new_request);
if (new_request!="") {
//process redirect
@@ -261,7 +261,7 @@ bool HTTPRequest::_handle_response(bool *ret_value) {
err = _request();
- print_line("new connection: "+itos(err));
+ //print_line("new connection: "+itos(err));
if (err==OK) {
request_sent=false;
got_response=false;
diff --git a/scene/main/instance_placeholder.cpp b/scene/main/instance_placeholder.cpp
index fb047ea5e4..15045a73d5 100644
--- a/scene/main/instance_placeholder.cpp
+++ b/scene/main/instance_placeholder.cpp
@@ -101,11 +101,28 @@ void InstancePlaceholder::replace_by_instance(const Ref<PackedScene> &p_custom_s
base->remove_child(this);
base->add_child(scene);
base->move_child(scene,pos);
-
}
+Dictionary InstancePlaceholder::get_stored_values(bool p_with_order) {
+
+ Dictionary ret;
+ StringArray order;
+
+ for(List<PropSet>::Element *E=stored_values.front();E;E=E->next()) {
+ ret[E->get().name] = E->get().value;
+ if (p_with_order)
+ order.push_back(E->get().name);
+ };
+
+ if (p_with_order)
+ ret[".order"] = order;
+
+ return ret;
+};
+
void InstancePlaceholder::_bind_methods() {
+ ObjectTypeDB::bind_method(_MD("get_stored_values","with_order"),&InstancePlaceholder::get_stored_values,DEFVAL(false));
ObjectTypeDB::bind_method(_MD("replace_by_instance","custom_scene:PackedScene"),&InstancePlaceholder::replace_by_instance,DEFVAL(Variant()));
ObjectTypeDB::bind_method(_MD("get_instance_path"),&InstancePlaceholder::get_instance_path);
}
diff --git a/scene/main/instance_placeholder.h b/scene/main/instance_placeholder.h
index ef76686196..cacba49b39 100644
--- a/scene/main/instance_placeholder.h
+++ b/scene/main/instance_placeholder.h
@@ -57,6 +57,8 @@ public:
void set_instance_path(const String& p_name);
String get_instance_path() const;
+ Dictionary get_stored_values(bool p_with_order = false);
+
void replace_by_instance(const Ref<PackedScene>& p_custom_scene=Ref<PackedScene>());
InstancePlaceholder();