Mercurial > hg > Database > Alice
view src/main/java/alice/test/topology/aquarium/fx/CheckAllFishInfoExist.java @ 397:ca92da166f1a multicast
check All fish object in own scene om CheckAllFishInfoExist code segment
author | sugi |
---|---|
date | Sun, 22 Jun 2014 21:06:40 +0900 |
parents | src/main/java/alice/test/topology/aquarium/fx/ReceiveRegisterList.java@f64e53200228 |
children | 4b38d3e6520e |
line wrap: on
line source
package alice.test.topology.aquarium.fx; import java.io.IOException; import javafx.scene.Group; import javafx.scene.Node; import org.msgpack.MessagePack; import org.msgpack.type.ArrayValue; import org.msgpack.type.Value; import alice.codesegment.CodeSegment; import alice.codesegment.SingletonMessage; import alice.datasegment.CommandType; import alice.datasegment.Receiver; public class CheckAllFishInfoExist extends CodeSegment { // this CS check all fish object exist in scene private Receiver info = ids.create(CommandType.TAKE); // fishInfoList private Receiver info1 = ids.create(CommandType.PEEK); public CheckAllFishInfoExist(){ info.setKey("receiveRegisteredList"); info1.setKey("root"); } @Override public void run() { try { new SendDataOthers(info, info.key); ods.put("registeredList", info.getVal()); ArrayValue fishInfoList = info.asClass(Value.class).asArrayValue(); MessagePack msg = SingletonMessage.getInstance(); Group root = info1.asClass(Group.class); for (Value v : fishInfoList){ boolean exist = false; FishInfo info = msg.convert(v, FishInfo.class); if (info.name == null) { for (Node n : root.getChildren()) { if (info.name.equals(n.getId())) { exist = true; break; } } if (!exist) { ods.put("fishData", info); } } } } catch (IOException e) { e.printStackTrace(); } this.recycle(); } }