-begin work on unidirectional collision detection

-fixed performance issue in new 2D engine
-texscreen() working in shader 2D
This commit is contained in:
Juan Linietsky
2015-01-13 10:49:26 -03:00
parent 30d3658110
commit 2ef5a342e3
19 changed files with 194 additions and 40 deletions
+23 -5
View File
@@ -291,13 +291,27 @@ void Node2D::set_global_transform(const Matrix32& p_transform) {
void Node2D::set_z(int p_z) {
ERR_FAIL_COND(p_z<-VS::CANVAS_ITEM_Z_DEFAULT);
ERR_FAIL_COND(p_z>=VS::CANVAS_ITEM_Z_DEFAULT);
ERR_FAIL_COND(p_z<VS::CANVAS_ITEM_Z_MIN);
ERR_FAIL_COND(p_z>VS::CANVAS_ITEM_Z_MAX);
z=p_z;
VS::get_singleton()->canvas_item_set_z(get_canvas_item(),z+VS::CANVAS_ITEM_Z_DEFAULT);
VS::get_singleton()->canvas_item_set_z(get_canvas_item(),z);
}
void Node2D::set_z_as_relative(bool p_enabled) {
if (z_relative==p_enabled)
return;
z_relative=p_enabled;
VS::get_singleton()->canvas_item_set_z_as_relative_to_parent(get_canvas_item(),p_enabled);
}
bool Node2D::is_z_relative() const {
return z_relative;
}
int Node2D::get_z() const{
return z;
@@ -332,13 +346,16 @@ void Node2D::_bind_methods() {
ObjectTypeDB::bind_method(_MD("set_z","z"),&Node2D::set_z);
ObjectTypeDB::bind_method(_MD("get_z"),&Node2D::get_z);
ObjectTypeDB::bind_method(_MD("set_z_as_relative","enable"),&Node2D::set_z_as_relative);
ObjectTypeDB::bind_method(_MD("is_z_relative"),&Node2D::is_z_relative);
ObjectTypeDB::bind_method(_MD("edit_set_pivot"),&Node2D::edit_set_pivot);
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2,"transform/pos"),_SCS("set_pos"),_SCS("get_pos"));
ADD_PROPERTY(PropertyInfo(Variant::REAL,"transform/rot",PROPERTY_HINT_RANGE,"-1440,1440,0.1"),_SCS("_set_rotd"),_SCS("_get_rotd"));
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2,"transform/scale"),_SCS("set_scale"),_SCS("get_scale"));
ADD_PROPERTY(PropertyInfo(Variant::INT,"visibility/z",PROPERTY_HINT_RANGE,"-512,511,1"),_SCS("set_z"),_SCS("get_z"));
ADD_PROPERTY(PropertyInfo(Variant::INT,"z/z",PROPERTY_HINT_RANGE,itos(VS::CANVAS_ITEM_Z_MIN)+","+itos(VS::CANVAS_ITEM_Z_MAX)+",1"),_SCS("set_z"),_SCS("get_z"));
ADD_PROPERTY(PropertyInfo(Variant::BOOL,"z/relative"),_SCS("set_z_as_relative"),_SCS("is_z_relative"));
}
@@ -351,6 +368,7 @@ Node2D::Node2D() {
scale=Vector2(1,1);
_xform_dirty=false;
z=0;
z_relative=true;
}