+ RGB c_in1, c_in2;
+ unsigned r=0,g=0,b=0;
+ float c_f1, c_f2; // para ver los flujos de cada uno
+
+ if (updated) {
+ std::list<IConector *>::iterator i = in_list.begin();
+ if (i != in_list.end()) {
+ PlantItem *o = (PlantItem *)(*i);
+ c_in1 = o->get_color();
+ c_f1 = o->get_actual_flow();
+ i++;
+ o = (PlantItem *)(*i);
+ c_in2 = o->get_color();
+ c_f2 = o->get_actual_flow();
+ }
+
+ set_color( RGB(r,g,b) );
+ if ((c_f1 != 0) && (c_f2 != 0)) {
+ // Si ambas entradas traen flujo, sumo sus colores
+ int total = c_f1+c_f2;
+ r = ((int)((c_in1.r()*c_f1/total+c_in2.r()*c_f2/total)))%256;
+ g = ((int)((c_in1.g()*c_f1/total+c_in2.g()*c_f2/total)))%256;
+ b = ((int)((c_in1.b()*c_f1/total+c_in2.b()*c_f2/total)))%256;
+ set_color(RGB(r,g,b));
+ } else {
+ // Veo que entrada trae color
+ if (c_f1 != 0) {
+ set_color( c_in1 );
+ }
+ if (c_f2 != 0) {
+ set_color( c_in2 );
+ }
+ }
+ return;
+ }