diff options
Diffstat (limited to 'scene/2d/parallax_layer.cpp')
-rw-r--r-- | scene/2d/parallax_layer.cpp | 89 |
1 files changed, 37 insertions, 52 deletions
diff --git a/scene/2d/parallax_layer.cpp b/scene/2d/parallax_layer.cpp index 37d8fb52f1..2387234607 100644 --- a/scene/2d/parallax_layer.cpp +++ b/scene/2d/parallax_layer.cpp @@ -29,42 +29,38 @@ #include "parallax_layer.h" #include "parallax_background.h" -void ParallaxLayer::set_motion_scale(const Size2& p_scale) { - - motion_scale=p_scale; +void ParallaxLayer::set_motion_scale(const Size2 &p_scale) { + motion_scale = p_scale; ParallaxBackground *pb = get_parent()->cast_to<ParallaxBackground>(); if (is_inside_tree() && pb) { Vector2 ofs = pb->get_final_offset(); float scale = pb->get_scroll_scale(); - set_base_offset_and_scale(ofs,scale); + set_base_offset_and_scale(ofs, scale); } - } Size2 ParallaxLayer::get_motion_scale() const { return motion_scale; - } -void ParallaxLayer::set_motion_offset(const Size2& p_offset) { +void ParallaxLayer::set_motion_offset(const Size2 &p_offset) { - motion_offset=p_offset; + motion_offset = p_offset; ParallaxBackground *pb = get_parent()->cast_to<ParallaxBackground>(); if (is_inside_tree() && pb) { Vector2 ofs = pb->get_final_offset(); float scale = pb->get_scroll_scale(); - set_base_offset_and_scale(ofs,scale); + set_base_offset_and_scale(ofs, scale); } } Size2 ParallaxLayer::get_motion_offset() const { return motion_offset; - } void ParallaxLayer::_update_mirroring() { @@ -77,68 +73,61 @@ void ParallaxLayer::_update_mirroring() { RID c = pb->get_world_2d()->get_canvas(); RID ci = get_canvas_item(); - VisualServer::get_singleton()->canvas_set_item_mirroring(c,ci,mirroring); + VisualServer::get_singleton()->canvas_set_item_mirroring(c, ci, mirroring); } - } -void ParallaxLayer::set_mirroring(const Size2& p_mirroring) { +void ParallaxLayer::set_mirroring(const Size2 &p_mirroring) { - mirroring=p_mirroring; - if (mirroring.x<0) - mirroring.x=0; - if (mirroring.y<0) - mirroring.y=0; + mirroring = p_mirroring; + if (mirroring.x < 0) + mirroring.x = 0; + if (mirroring.y < 0) + mirroring.y = 0; _update_mirroring(); - } -Size2 ParallaxLayer::get_mirroring() const{ +Size2 ParallaxLayer::get_mirroring() const { return mirroring; } - - void ParallaxLayer::_notification(int p_what) { - switch(p_what) { + switch (p_what) { case NOTIFICATION_ENTER_TREE: { - orig_offset=get_position(); - orig_scale=get_scale(); + orig_offset = get_position(); + orig_scale = get_scale(); _update_mirroring(); } break; } } -void ParallaxLayer::set_base_offset_and_scale(const Point2& p_offset,float p_scale) { +void ParallaxLayer::set_base_offset_and_scale(const Point2 &p_offset, float p_scale) { if (!is_inside_tree()) return; if (get_tree()->is_editor_hint()) return; - Point2 new_ofs = ((orig_offset+p_offset)*motion_scale)*p_scale+motion_offset; + Point2 new_ofs = ((orig_offset + p_offset) * motion_scale) * p_scale + motion_offset; if (mirroring.x) { - double den = mirroring.x*p_scale; - new_ofs.x -= den*ceil(new_ofs.x/den); + double den = mirroring.x * p_scale; + new_ofs.x -= den * ceil(new_ofs.x / den); } if (mirroring.y) { - double den = mirroring.y*p_scale; - new_ofs.y -= den*ceil(new_ofs.y/den); + double den = mirroring.y * p_scale; + new_ofs.y -= den * ceil(new_ofs.y / den); } set_position(new_ofs); - set_scale(Vector2(1,1)*p_scale); - - + set_scale(Vector2(1, 1) * p_scale); } - String ParallaxLayer::get_configuration_warning() const { if (!get_parent() || !get_parent()->cast_to<ParallaxBackground>()) { @@ -150,23 +139,19 @@ String ParallaxLayer::get_configuration_warning() const { void ParallaxLayer::_bind_methods() { - ClassDB::bind_method(D_METHOD("set_motion_scale","scale"),&ParallaxLayer::set_motion_scale); - ClassDB::bind_method(D_METHOD("get_motion_scale"),&ParallaxLayer::get_motion_scale); - ClassDB::bind_method(D_METHOD("set_motion_offset","offset"),&ParallaxLayer::set_motion_offset); - ClassDB::bind_method(D_METHOD("get_motion_offset"),&ParallaxLayer::get_motion_offset); - ClassDB::bind_method(D_METHOD("set_mirroring","mirror"),&ParallaxLayer::set_mirroring); - ClassDB::bind_method(D_METHOD("get_mirroring"),&ParallaxLayer::get_mirroring); - - ADD_GROUP("Motion","motion_"); - ADD_PROPERTY( PropertyInfo(Variant::VECTOR2,"motion_scale"),"set_motion_scale","get_motion_scale"); - ADD_PROPERTY( PropertyInfo(Variant::VECTOR2,"motion_offset"),"set_motion_offset","get_motion_offset"); - ADD_PROPERTY( PropertyInfo(Variant::VECTOR2,"motion_mirroring"),"set_mirroring","get_mirroring"); - + ClassDB::bind_method(D_METHOD("set_motion_scale", "scale"), &ParallaxLayer::set_motion_scale); + ClassDB::bind_method(D_METHOD("get_motion_scale"), &ParallaxLayer::get_motion_scale); + ClassDB::bind_method(D_METHOD("set_motion_offset", "offset"), &ParallaxLayer::set_motion_offset); + ClassDB::bind_method(D_METHOD("get_motion_offset"), &ParallaxLayer::get_motion_offset); + ClassDB::bind_method(D_METHOD("set_mirroring", "mirror"), &ParallaxLayer::set_mirroring); + ClassDB::bind_method(D_METHOD("get_mirroring"), &ParallaxLayer::get_mirroring); + + ADD_GROUP("Motion", "motion_"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "motion_scale"), "set_motion_scale", "get_motion_scale"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "motion_offset"), "set_motion_offset", "get_motion_offset"); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "motion_mirroring"), "set_mirroring", "get_mirroring"); } - - -ParallaxLayer::ParallaxLayer() -{ - motion_scale=Size2(1,1); +ParallaxLayer::ParallaxLayer() { + motion_scale = Size2(1, 1); } |