continue;
}
// obtengo el items actual por su nombre
- if (xmlStrcmp(nodo->name, BAD_CAST"and") == 0) {
+ if ((xmlStrcmp(nodo->name, BAD_CAST"and") == 0) || (xmlStrcmp(nodo->name, BAD_CAST"not") == 0) || (xmlStrcmp(nodo->name, BAD_CAST"or") == 0)) {
std::string s = (char *)xmlGetProp(nodo, BAD_CAST"nombre");
current = find_logic((char *)xmlGetProp(nodo, BAD_CAST"nombre"));
connect_logic(current, nodo->children);
if (xmlStrcmp(nodo->name, BAD_CAST"entrada") == 0) {
item = dynamic_cast<Control *>(find((char *)XML_GET_CONTENT(nodo->children)));
if (item != NULL) {
- current->connect( item->get_logic_output(), IConector::IN );
+ if (dynamic_cast<Tank *>(item)) {
+ std::string donde = (char *)xmlGetProp(nodo, BAD_CAST"id");
+ if (donde == "inferior") {
+ current->connect( item->get_logic_output(), IConector::IN );
+ } else {
+ current->connect( item->get_logic_input(), IConector::IN );
+ }
+ } else {
+ current->connect( item->get_logic_output(), IConector::IN );
+ }
} else {
std::cout << "ERROR : Item no es tipo Control!!" << std::endl;
}