view src/alice/test/topology/aquarium/fx/SetTranslation.java @ 15:3458bde834d3

remove NullPointerException
author e095732
date Sat, 02 Feb 2013 02:24:05 +0900
parents e027d228c455
children 5e6d40908c60
line wrap: on
line source

package alice.test.topology.aquarium.fx;

import javafx.scene.image.ImageView;
import alice.codesegment.CodeSegment;
import alice.datasegment.CommandType;
import alice.datasegment.Receiver;

public class SetTranslation extends CodeSegment {
	
	private Receiver data1 = ids.create(CommandType.PEEK);
	private Receiver data2 = ids.create(CommandType.PEEK);
	private Receiver data3 = ids.create(CommandType.PEEK);
	
	private ImageView iv;

	public SetTranslation(ImageView iv, String key){
		ods.put("local", key, new FishData(iv.getTranslateX(),iv.getTranslateY(),iv.getTranslateZ()));
		this.iv = iv;
		data1.setKey(key);
		data2.setKey("startX");
		data3.setKey("width");
		
	} 
	
	public SetTranslation(ImageView iv, String key, int index) {
		this.iv = iv;
		data1.setKey(key, index);
		data2.setKey("startX");
		data3.setKey("width");
	}
	
	@Override
	public void run() {
		int startX = data2.asInteger();
		int width = data3.asInteger();
		FishData fd = data1.asClass(FishData.class);
		if (startX<fd.getX()&& fd.getX()<startX+width){
			iv.setTranslateX(fd.getX() - startX);
			iv.setTranslateY(fd.getY());
			iv.setTranslateZ(fd.getZ());

			
		}
		new SetTranslation(iv, data1.key, data1.index);
	}

}