annotate src/main/java/alice/test/topology/aquarium/fx/AddObject.java @ 547:e91a574b69de dispose

remove index
author Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
date Tue, 18 Aug 2015 16:15:17 +0900
parents 15eeb439830c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
378
ac3cf96f4426 add scooter object with CreateObject and AddObject
sugi
parents:
diff changeset
1 package alice.test.topology.aquarium.fx;
ac3cf96f4426 add scooter object with CreateObject and AddObject
sugi
parents:
diff changeset
2
ac3cf96f4426 add scooter object with CreateObject and AddObject
sugi
parents:
diff changeset
3 import javafx.application.Platform;
ac3cf96f4426 add scooter object with CreateObject and AddObject
sugi
parents:
diff changeset
4 import javafx.scene.Group;
ac3cf96f4426 add scooter object with CreateObject and AddObject
sugi
parents:
diff changeset
5 import javafx.scene.Node;
ac3cf96f4426 add scooter object with CreateObject and AddObject
sugi
parents:
diff changeset
6 import alice.codesegment.CodeSegment;
ac3cf96f4426 add scooter object with CreateObject and AddObject
sugi
parents:
diff changeset
7 import alice.datasegment.CommandType;
ac3cf96f4426 add scooter object with CreateObject and AddObject
sugi
parents:
diff changeset
8 import alice.datasegment.Receiver;
ac3cf96f4426 add scooter object with CreateObject and AddObject
sugi
parents:
diff changeset
9
ac3cf96f4426 add scooter object with CreateObject and AddObject
sugi
parents:
diff changeset
10 public class AddObject extends CodeSegment {
419
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
11 // add Object on javaFx Scene
467
6e304a7a60e7 remove white space
sugi
parents: 419
diff changeset
12 private Receiver info = ids.create(CommandType.TAKE); // objectList
6e304a7a60e7 remove white space
sugi
parents: 419
diff changeset
13 private Receiver info1 = ids.create(CommandType.TAKE); // fish Object made from CreateObject CS
419
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
14 private Receiver info2 = ids.create(CommandType.PEEK); // node name
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
15 private boolean executed = false;
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
16
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
17 public AddObject(){
547
e91a574b69de remove index
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents: 546
diff changeset
18 info.setKey("root", this);
e91a574b69de remove index
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents: 546
diff changeset
19 info1.setKey("addOffer", this);
e91a574b69de remove index
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents: 546
diff changeset
20 info2.setKey("host", this);
419
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
21 }
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
22
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
23 @Override
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
24 public void run() {
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
25
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
26
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
27 if (!executed) {
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
28 executed = true;
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
29 // javafx's Scene can be accessed only FX application thread.
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
30 Platform.runLater(this);
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
31 } else {
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
32 boolean duplication = false;
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
33 Group root = info.asClass(Group.class);
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
34 Group obj = info1.asClass(Group.class);
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
35 String myName = info2.asString();
405
c817721af5ec change timing create addObject code segment
sugi
parents: 397
diff changeset
36
419
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
37 for (Node n : root.getChildren()){
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
38 if (n.getId().equals(obj.getId()))
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
39 duplication = true;
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
40 }
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
41
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
42 if (!duplication) {
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
43 root.getChildren().add(obj);
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
44 System.out.println(obj.getId()+" add");
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
45 ods.put(obj.getId()+"Fish", obj);
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
46
467
6e304a7a60e7 remove white space
sugi
parents: 419
diff changeset
47 // controlled own fish
419
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
48 if (myName.equals(obj.getId())){
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
49 new CalculatePosition(obj.getId()+"FishdiffP");
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
50 }
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
51 new SetTranslate(obj.getId()+"Fish");
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
52
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
53 FishInfo fishInfo = new FishInfo();
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
54 fishInfo.name = obj.getId();
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
55 fishInfo.size = obj.getScaleX();
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
56 ods.put("register", fishInfo);
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
57 }
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
58 ods.flip(info);
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
59 new AddObject();
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
60 }
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
61 }
aefbe41fcf12 change tab to space
sugi
parents: 407
diff changeset
62
378
ac3cf96f4426 add scooter object with CreateObject and AddObject
sugi
parents:
diff changeset
63
ac3cf96f4426 add scooter object with CreateObject and AddObject
sugi
parents:
diff changeset
64 }