package com.ericsson.tic.vi; /** * A Pickable object is one which can be "clicked on". * * @author Sami Matilainen * @version 1.0 (2008-12-04) */ public class Pickable { /** Used by the newPID() method to create a new id */ private static byte[] gpid = {(byte)1, (byte)0, (byte)0}; // (0, 0, 0) is reserved for blocking objects (this is clever) /** The pickable id of this object. */ public byte[] pid; /** Indicates wheter an object with this id is highlighted or not. */ public boolean highlighted; /** * Creates a pickable object. */ public Pickable() { highlighted = false; pid = new byte[3]; pid[0] = gpid[0]; pid[1] = gpid[1]; pid[2] = gpid[2]; gpid[0]++; if (gpid[0] >= 127) { gpid[0] = 0; gpid[1]++; if (gpid[1] >= 127) { gpid[1] = 0; gpid[2]++; if (gpid[2] >= 127) { System.out.println("Pickable.Pickable > Too many objects (more than 2 million?)"); System.exit(0); } } } } /** * Creates a new pickable id. */ public void newPID() { pid = new byte[3]; pid[0] = gpid[0]; pid[1] = gpid[1]; pid[2] = gpid[2]; gpid[0]++; if (gpid[0] >= 127) { gpid[0] = 0; gpid[1]++; if (gpid[1] >= 127) { gpid[1] = 0; gpid[2]++; if (gpid[2] >= 127) { System.out.println("Pickable.Pickable > Too many objects (more than 2 million?)"); System.exit(0); } } } } }