// Path: TheHunt/src/com/primalpond/hunt/world/environment/FloatingObject.java
// public abstract class FloatingObject extends D3Sprite implements JSONable {
// 
// 	public enum Type {
// 		FOOD_GM, ALGAE;
// 	}
// 	
// 	protected static final String KEY_POS_X = "pos_x";
// 	protected static final String KEY_POS_Y = "pos_y";
// 	protected static final String KEY_VX = "vx";
// 	protected static final String KEY_VY = "vy";
// 
// 	private static final String TAG = "FloatingObject";
// 	public static final String KEY_TYPE = "type";
// 
// 	Type mType;
// 
// 	private boolean mRemove;
// 	private ArrayList<Tile> mTiles;
// 	private boolean mChanged;
// 
// 	public FloatingObject(float x, float y, Type type, SpriteManager d3gles20) {
// 		super(new PointF(x, y), d3gles20);
// 		mType = type;
// 		mRemove = false;
// 	}
// 	
// 	public void update() {
// 		if (D3Maths.compareFloats(0, getVX()) != 0
// 				&& D3Maths.compareFloats(0, getVY()) != 0) {
// 			mChanged = true;
// 		}
// 		applyFriction();
// 		super.update();
// 	}
// 	
// 	public void applyFriction() {}
// 	
// 	public Type getType() {
// 		return mType;
// 	}
// 	
// 	public boolean toRemove() {
// 		return mRemove;
// 	}
// 	
// 	public void setToRemove() {
// 		mRemove = true;
// 	}
// 
// 	public JSONObject toJSON() throws JSONException {
// 		JSONObject jsonObject = new JSONObject();
// 		PointF pos = getPosition();
// 		jsonObject.put(KEY_POS_X, pos.x);
// 		jsonObject.put(KEY_POS_Y, pos.y);
// 		jsonObject.put(KEY_VX, getVX());
// 		jsonObject.put(KEY_VY, getVY());
// 		jsonObject.put(KEY_TYPE, mType);
// 		return jsonObject;
// 	}
// 
// 	public void setTiles(ArrayList<Tile> tiles) {
// 		mTiles = tiles;
// 	}
// 
// 	public boolean hasMoved() {
// 		if (mChanged) {
// 			mChanged = false;
// 			return true;
// 		}
// 		return false;
// 	}
// 	
// 	public void setChanged() {
// 		mChanged = true;
// 	}
// 
// 	public ArrayList<Tile> getTiles() {
// 		return mTiles;
// 	}
// 
// //	public float getRadius() {
// //		return mGraphic.getRadius();
// //	}
// }


import android.graphics.PointF;
import android.util.Log;
import com.primalpond.hunt.agent.Agent;
import com.primalpond.hunt.world.environment.Environment;
import com.primalpond.hunt.world.environment.FloatingObject;
import d3kod.graphics.extra.D3Maths;
import d3kod.graphics.sprite.shapes.D3Circle;
package com.primalpond.hunt.world.tools;




public class D3GestureActionNet extends D3Circle implements D3GestureAction {

	private static final float FADE_SPEED = 0.05f;
// Path: TheHunt/src/com/primalpond/hunt/world/environment/FloatingObject.java
// public abstract class FloatingObject extends D3Sprite implements JSONable {
// 
// 	public enum Type {
// 		FOOD_GM, ALGAE;
// 	}
// 	
// 	protected static final String KEY_POS_X = "pos_x";
// 	protected static final String KEY_POS_Y = "pos_y";
// 	protected static final String KEY_VX = "vx";
// 	protected static final String KEY_VY = "vy";
// 
// 	private static final String TAG = "FloatingObject";
// 	public static final String KEY_TYPE = "type";
// 
// 	Type mType;
// 
// 	private boolean mRemove;
// 	private ArrayList<Tile> mTiles;
// 	private boolean mChanged;
// 
// 	public FloatingObject(float x, float y, Type type, SpriteManager d3gles20) {
// 		super(new PointF(x, y), d3gles20);
// 		mType = type;
// 		mRemove = false;
// 	}
// 	
// 	public void update() {
// 		if (D3Maths.compareFloats(0, getVX()) != 0
// 				&& D3Maths.compareFloats(0, getVY()) != 0) {
// 			mChanged = true;
// 		}
// 		applyFriction();
// 		super.update();
// 	}
// 	
// 	public void applyFriction() {}
// 	
// 	public Type getType() {
// 		return mType;
// 	}
// 	
// 	public boolean toRemove() {
// 		return mRemove;
// 	}
// 	
// 	public void setToRemove() {
// 		mRemove = true;
// 	}
// 
// 	public JSONObject toJSON() throws JSONException {
// 		JSONObject jsonObject = new JSONObject();
// 		PointF pos = getPosition();
// 		jsonObject.put(KEY_POS_X, pos.x);
// 		jsonObject.put(KEY_POS_Y, pos.y);
// 		jsonObject.put(KEY_VX, getVX());
// 		jsonObject.put(KEY_VY, getVY());
// 		jsonObject.put(KEY_TYPE, mType);
// 		return jsonObject;
// 	}
// 
// 	public void setTiles(ArrayList<Tile> tiles) {
// 		mTiles = tiles;
// 	}
// 
// 	public boolean hasMoved() {
// 		if (mChanged) {
// 			mChanged = false;
// 			return true;
// 		}
// 		return false;
// 	}
// 	
// 	public void setChanged() {
// 		mChanged = true;
// 	}
// 
// 	public ArrayList<Tile> getTiles() {
// 		return mTiles;
// 	}
// 
// //	public float getRadius() {
// //		return mGraphic.getRadius();
// //	}
// }


// Path: TheHunt/src/com/primalpond/hunt/world/tools/D3GestureActionNet.java
import android.graphics.PointF;
import android.util.Log;
import com.primalpond.hunt.agent.Agent;
import com.primalpond.hunt.world.environment.Environment;
import com.primalpond.hunt.world.environment.FloatingObject;
import d3kod.graphics.extra.D3Maths;
import d3kod.graphics.sprite.shapes.D3Circle;

package com.primalpond.hunt.world.tools;




public class D3GestureActionNet extends D3Circle implements D3GestureAction {

	private static final float FADE_SPEED = 0.05f;
	private static float[] isBuiltColor = {