mirror of
https://github.com/Relintai/props_2d.git
synced 2025-02-10 16:40:11 +01:00
Updated the serialization logic in all of the PropDataEntries.
This commit is contained in:
parent
8c4540a2a6
commit
3c9ae1a391
@ -80,7 +80,12 @@ void Prop2DDataLight::_processor_process(Ref<Prop2DData> prop_data, Node *node,
|
|||||||
ERR_FAIL_COND(!i);
|
ERR_FAIL_COND(!i);
|
||||||
|
|
||||||
Ref<Prop2DDataLight> l;
|
Ref<Prop2DDataLight> l;
|
||||||
l.instance();
|
|
||||||
|
if (entry.is_valid()) {
|
||||||
|
l = entry;
|
||||||
|
} else {
|
||||||
|
l.instance();
|
||||||
|
}
|
||||||
|
|
||||||
l->set_light_color(i->get_color());
|
l->set_light_color(i->get_color());
|
||||||
|
|
||||||
|
@ -73,19 +73,30 @@ void Prop2DDataPortal::_processor_process(Ref<Prop2DData> prop_data, Node *node,
|
|||||||
ERR_FAIL_COND(!p);
|
ERR_FAIL_COND(!p);
|
||||||
|
|
||||||
Ref<Prop2DDataPortal> l;
|
Ref<Prop2DDataPortal> l;
|
||||||
l.instance();
|
|
||||||
|
if (entry.is_valid()) {
|
||||||
|
l = entry;
|
||||||
|
} else {
|
||||||
|
l.instance();
|
||||||
|
}
|
||||||
|
|
||||||
l->set_is_active(p->get_portal_active());
|
l->set_is_active(p->get_portal_active());
|
||||||
l->set_is_two_way(p->is_two_way());
|
l->set_is_two_way(p->is_two_way());
|
||||||
l->set_use_default_margin(p->get_use_default_margin());
|
l->set_use_default_margin(p->get_use_default_margin());
|
||||||
l->set_portal_margin(p->get_portal_margin());
|
l->set_portal_margin(p->get_portal_margin());
|
||||||
l->set_points(p->get_points());
|
l->set_points(p->get_points());
|
||||||
|
|
||||||
//l->set_transform(transform * p->get_transform());
|
Prop2DDataEntry::_processor_process(prop_data, node, transform, l);
|
||||||
prop_data->add_prop(l);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Node *Prop2DDataPortal::_processor_get_node_for(const Transform2D &transform, Node *node) {
|
Node *Prop2DDataPortal::_processor_get_node_for(const Transform2D &transform, Node *node) {
|
||||||
Portal *p = memnew(Portal);
|
Portal *p = nullptr;
|
||||||
|
|
||||||
|
if (!node) {
|
||||||
|
p = memnew(Portal);
|
||||||
|
} else {
|
||||||
|
p = Object::cast_to<Portal>(node);
|
||||||
|
}
|
||||||
|
|
||||||
p->set_portal_active(get_is_active());
|
p->set_portal_active(get_is_active());
|
||||||
p->set_two_way(get_is_two_way());
|
p->set_two_way(get_is_two_way());
|
||||||
@ -93,9 +104,7 @@ Node *Prop2DDataPortal::_processor_get_node_for(const Transform2D &transform, No
|
|||||||
p->set_portal_margin(get_portal_margin());
|
p->set_portal_margin(get_portal_margin());
|
||||||
p->set_points(get_points());
|
p->set_points(get_points());
|
||||||
|
|
||||||
//p->set_transform(get_transform());
|
return Prop2DDataEntry::_processor_get_node_for(transform, p);
|
||||||
|
|
||||||
return p;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Prop2DDataPortal::Prop2DDataPortal() {
|
Prop2DDataPortal::Prop2DDataPortal() {
|
||||||
|
@ -52,19 +52,30 @@ void Prop2DDataProp2D::_processor_process(Ref<Prop2DData> prop_data, Node *node,
|
|||||||
ERR_FAIL_COND(!i);
|
ERR_FAIL_COND(!i);
|
||||||
|
|
||||||
Ref<Prop2DDataProp2D> l;
|
Ref<Prop2DDataProp2D> l;
|
||||||
l.instance();
|
|
||||||
|
if (entry.is_valid()) {
|
||||||
|
l = entry;
|
||||||
|
} else {
|
||||||
|
l.instance();
|
||||||
|
}
|
||||||
|
|
||||||
l->set_prop(i->get_prop_data());
|
l->set_prop(i->get_prop_data());
|
||||||
//l->set_transform(transform * i->get_transform());
|
|
||||||
prop_data->add_prop(l);
|
Prop2DDataEntry::_processor_process(prop_data, node, transform, l);
|
||||||
}
|
}
|
||||||
|
|
||||||
Node *Prop2DDataProp2D::_processor_get_node_for(const Transform2D &transform, Node *node) {
|
Node *Prop2DDataProp2D::_processor_get_node_for(const Transform2D &transform, Node *node) {
|
||||||
Prop2DInstance *i = memnew(Prop2DInstance);
|
Prop2DInstance *i = nullptr;
|
||||||
|
|
||||||
|
if (!node) {
|
||||||
|
i = memnew(Prop2DInstance);
|
||||||
|
} else {
|
||||||
|
i = Object::cast_to<Prop2DInstance>(node);
|
||||||
|
}
|
||||||
|
|
||||||
i->set_prop_data(get_prop());
|
i->set_prop_data(get_prop());
|
||||||
//i->set_transform(get_transform());
|
|
||||||
|
|
||||||
return i;
|
return Prop2DDataEntry::_processor_get_node_for(transform, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
Prop2DDataProp2D::Prop2DDataProp2D() {
|
Prop2DDataProp2D::Prop2DDataProp2D() {
|
||||||
|
@ -44,19 +44,31 @@ void Prop2DDataScene::_processor_process(Ref<Prop2DData> prop_data, Node *node,
|
|||||||
ERR_FAIL_COND(!i);
|
ERR_FAIL_COND(!i);
|
||||||
|
|
||||||
Ref<Prop2DDataScene> l;
|
Ref<Prop2DDataScene> l;
|
||||||
l.instance();
|
|
||||||
|
if (entry.is_valid()) {
|
||||||
|
l = entry;
|
||||||
|
} else {
|
||||||
|
l.instance();
|
||||||
|
}
|
||||||
|
|
||||||
l->set_scene(i->get_scene());
|
l->set_scene(i->get_scene());
|
||||||
//l->set_transform(transform * i->get_transform());
|
|
||||||
prop_data->add_prop(l);
|
Prop2DDataEntry::_processor_process(prop_data, node, transform, l);
|
||||||
}
|
}
|
||||||
|
|
||||||
Node *Prop2DDataScene::_processor_get_node_for(const Transform2D &transform, Node *node) {
|
Node *Prop2DDataScene::_processor_get_node_for(const Transform2D &transform, Node *node) {
|
||||||
Prop2DSceneInstance *i = memnew(Prop2DSceneInstance);
|
Prop2DSceneInstance *i = nullptr;
|
||||||
|
|
||||||
|
if (!node) {
|
||||||
|
i = memnew(Prop2DSceneInstance);
|
||||||
|
} else {
|
||||||
|
i = Object::cast_to<Prop2DSceneInstance>(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
i->set_scene(get_scene());
|
i->set_scene(get_scene());
|
||||||
//i->set_transform(get_transform());
|
|
||||||
|
|
||||||
return i;
|
return Prop2DDataEntry::_processor_get_node_for(transform, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
Prop2DDataScene::Prop2DDataScene() {
|
Prop2DDataScene::Prop2DDataScene() {
|
||||||
|
@ -67,18 +67,29 @@ void Prop2DDataTiledWall2D::_processor_process(Ref<Prop2DData> prop_data, Node *
|
|||||||
ERR_FAIL_COND(!t);
|
ERR_FAIL_COND(!t);
|
||||||
|
|
||||||
Ref<Prop2DDataTiledWall2D> tw;
|
Ref<Prop2DDataTiledWall2D> tw;
|
||||||
tw.instance();
|
|
||||||
|
if (entry.is_valid()) {
|
||||||
|
tw = entry;
|
||||||
|
} else {
|
||||||
|
tw.instance();
|
||||||
|
}
|
||||||
|
|
||||||
tw->set_width(t->get_width());
|
tw->set_width(t->get_width());
|
||||||
tw->set_heigth(t->get_heigth());
|
tw->set_heigth(t->get_heigth());
|
||||||
tw->set_data(t->get_data());
|
tw->set_data(t->get_data());
|
||||||
//tw->set_collision(t->get_collision());
|
//tw->set_collision(t->get_collision());
|
||||||
//tw->set_transform(transform * t->get_transform());
|
|
||||||
prop_data->add_prop(tw);
|
Prop2DDataEntry::_processor_process(prop_data, node, transform, tw);
|
||||||
}
|
}
|
||||||
|
|
||||||
Node *Prop2DDataTiledWall2D::_processor_get_node_for(const Transform2D &transform, Node *node) {
|
Node *Prop2DDataTiledWall2D::_processor_get_node_for(const Transform2D &transform, Node *node) {
|
||||||
TiledWall2D *t = memnew(TiledWall2D);
|
TiledWall2D *t;
|
||||||
|
|
||||||
|
if (node) {
|
||||||
|
t = Object::cast_to<TiledWall2D>(node);
|
||||||
|
} else {
|
||||||
|
t = memnew(TiledWall2D());
|
||||||
|
}
|
||||||
|
|
||||||
t->set_width(get_width());
|
t->set_width(get_width());
|
||||||
t->set_heigth(get_heigth());
|
t->set_heigth(get_heigth());
|
||||||
@ -86,7 +97,7 @@ Node *Prop2DDataTiledWall2D::_processor_get_node_for(const Transform2D &transfor
|
|||||||
t->set_data(get_data());
|
t->set_data(get_data());
|
||||||
//t->set_transform(get_transform());
|
//t->set_transform(get_transform());
|
||||||
|
|
||||||
return t;
|
return Prop2DDataEntry::_processor_get_node_for(transform, t);
|
||||||
}
|
}
|
||||||
|
|
||||||
Prop2DDataTiledWall2D::Prop2DDataTiledWall2D() {
|
Prop2DDataTiledWall2D::Prop2DDataTiledWall2D() {
|
||||||
|
Loading…
Reference in New Issue
Block a user