view src/main/java/alice/test/topology/aquarium/fx/CalculatePosition.java @ 419:aefbe41fcf12 dispose

change tab to space
author sugi
date Tue, 15 Jul 2014 16:00:22 +0900
parents f64e53200228
children 6e304a7a60e7
line wrap: on
line source

package alice.test.topology.aquarium.fx;

import alice.codesegment.CodeSegment;
import alice.datasegment.CommandType;
import alice.datasegment.Receiver;

public class CalculatePosition extends CodeSegment {

    private Receiver info = ids.create(CommandType.TAKE); // diff fish position value 
    private Receiver info1 = ids.create(CommandType.TAKE); // absolute fish position value 
    private Receiver info2 = ids.create(CommandType.PEEK);

    public CalculatePosition(String key){
        info.setKey(key);
        info1.setKey("OwnFishP");
        info2.setKey("host");

    }

    @Override
    public void run() {
        FishInfo dfp = info.asClass(FishInfo.class);
        FishInfo afp = info1.asClass(FishInfo.class);
        String myName = info2.asString();

        afp.setX(afp.getX() + dfp.getX());
        afp.setY(afp.getY() + dfp.getY());
        afp.setZ(afp.getZ() + dfp.getZ());		
        ods.update(info1.key, afp);

        FishInfo fishInfo = new FishInfo(afp.getX(),afp.getY(),afp.getZ());
        fishInfo.rolX = dfp.rolX;
        fishInfo.rolY = dfp.rolY;
        fishInfo.rolZ = dfp.rolZ;
        fishInfo.rotate = dfp.rotate;
        ods.update(myName+"FishabsoluteP", fishInfo);

        this.recycle();
    }


}