Coverage Report - cs.pancava.caltha.worlds.GameEntity
 
Classes in this File Line Coverage Branch Coverage Complexity
GameEntity
0%
0/25
0%
0/2
1.056
 
 1  
 /* $Id: GameEntity.java 30 2013-04-27 18:40:17Z mihlon $ */
 2  
 
 3  
 //////////////////////////////////////////////////////////////////////////////
 4  
 //                                                                          //
 5  
 //   This program is free software: you can redistribute it and/or modify   //
 6  
 //   it under the terms of the GNU General Public License as published by   //
 7  
 //   the Free Software Foundation, either version 3 of the License, or      //
 8  
 //   at your option any later version.                                      //
 9  
 //                                                                          //
 10  
 //   This program is distributed in the hope that it will be useful,        //
 11  
 //   but WITHOUT ANY WARRANTY; without even the implied warranty of         //
 12  
 //   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          //
 13  
 //   GNU General Public License for more details.                           //
 14  
 //                                                                          //
 15  
 //   You should have received a copy of the GNU General Public License      //
 16  
 //   along with this program.  If not, see <http://www.gnu.org/licenses/>.  //
 17  
 //                                                                          //
 18  
 //////////////////////////////////////////////////////////////////////////////
 19  
 
 20  
 package cs.pancava.caltha.worlds;
 21  
 
 22  
 import java.awt.Graphics2D;
 23  
 
 24  
 /**
 25  
  * <p><b>Tato trida definuje zakladni vlastnosti instance herniho sveta v editoru.</b></p>
 26  
  *
 27  
  * @author Milan Vaclavik<br />
 28  
  * @version $Revision: 30 $<br />
 29  
  * $LastChangedBy: mihlon $<br />
 30  
  */
 31  
 public abstract class GameEntity
 32  
 {
 33  
     /**
 34  
      * Poradove cislo.
 35  
      */
 36  
     private int id;
 37  
 
 38  
     /**
 39  
      * X-ova souradnice vytvoreneho objektu.
 40  
      */
 41  
     private int locationX;
 42  
 
 43  
     /**
 44  
      * Y-ova souradnice vytvoreneho objektu.
 45  
      */
 46  
     private int locationY;
 47  
 
 48  
     /**
 49  
      * True  - dany objekt je vybran (oznacen).
 50  
      * False - dany objekt neni vybran (oznacen).
 51  
      */
 52  
     private Boolean selected;
 53  
 
 54  
     /**
 55  
      * Typ herniho objektu.
 56  
      */
 57  
     private int type;
 58  
 
 59  
     /**
 60  
      * Konstruktor - nastavuje zakladni vlastnosti vytvoreneho objektu.
 61  
      * @param x int: X-ova souradnice vytvareneho objektu.
 62  
      * @param y int: y-ova souradnice vytvareneho objektu.
 63  
      * @param t int: Typ vytvoreneho objektu.
 64  
      * @param counter int : Citac vytvorenych objektu.
 65  
      */
 66  
     public GameEntity(final int x, final int y, final int t, final int counter)
 67  0
     {
 68  0
         this.id = counter;
 69  0
         this.locationX = x;
 70  0
         this.locationY = y;
 71  0
         this.selected = false;
 72  0
         this.type = t;
 73  0
     }
 74  
 
 75  
     /**
 76  
      * Prazdny kontruktor pro takove objekty, ktere maji vzlastni vyznam.
 77  
      * @param t int: Typ vytvoreneho objektu
 78  
      */
 79  
     public GameEntity(final int t)
 80  0
     {
 81  0
         this.type = t;
 82  0
     }
 83  
 
 84  
     /**
 85  
      * Reset counteru -> zaciname tvorit novy svet.
 86  
      */
 87  
     public static void resetCounter()
 88  
     {
 89  
         // TODO: Proc je tento prikaz zakomentovany ?
 90  
 //        GameEntity.counter = 0;
 91  0
     }
 92  
 
 93  
     /**
 94  
      * Abstraktni trida, ktera vraci stred objektu v ose X.
 95  
      * @return int : Stred objektu v ose X.
 96  
      */
 97  
     public abstract int getCenterX();
 98  
 
 99  
     /**
 100  
      * Abstraktni trida, ktera vraci stred objektu v ose Y.
 101  
      * @return int : Stred objektu v ose Y.
 102  
      */
 103  
     public abstract int getCenterY();
 104  
 
 105  
     /**
 106  
      * Abstraktni trida, ktera vraci nejaky objekt GameEntity.
 107  
      * @return GameEntity : Objekt, ktery vracime.
 108  
      */
 109  
     public abstract GameEntity getFirstRoom();
 110  
 
 111  
     /**
 112  
      * Abstraktni trida, ktera vraci grafickou reprezentaci daneho objektu v editoru.
 113  
      * @return : Graficke ztvarneni daneho obektu z vytvoreneho sveta.
 114  
      */
 115  
     //public abstract RectangularShape getGraphicsObject();
 116  
     public abstract Object getGraphicsObject();
 117  
 
 118  
     /**
 119  
      * Snizi hodnotu ID o jedna.
 120  
      */
 121  
     public final void downID()
 122  
     {
 123  0
         if (this.id > 0)
 124  
         {
 125  0
             this.id -= 1;
 126  
         }
 127  0
     }
 128  
 
 129  
     /**
 130  
      * Vraci ID obektu.
 131  
      * @return int : ID vytvoreneho objektu.
 132  
      */
 133  
     public final int getId()
 134  
     {
 135  0
         return this.id;
 136  
     }
 137  
 
 138  
     /**
 139  
      * Vrati X-ovou souradnici daneho objektu.
 140  
      * @return int : X-ova souradnice daneho objektu
 141  
      */
 142  
     public final int getLocationX()
 143  
     {
 144  0
         return this.locationX;
 145  
     }
 146  
 
 147  
     /**
 148  
      * Vrati Y-ovou souradnici daneho objektu.
 149  
      * @return int : Y-ova souradnice daneho objektu
 150  
      */
 151  
     public final int getLocationY()
 152  
     {
 153  0
         return this.locationY;
 154  
     }
 155  
 
 156  
     /**
 157  
      * Abstraktni trida, ktera vraci nejaky objekt GameEntity.
 158  
      * @return GameEntity : Objekt, ktery vracime.
 159  
      */
 160  
     public abstract GameEntity getSecondRoom();
 161  
 
 162  
     /**
 163  
      * Vraci stav objektu - zda byl nebo nebyl vybran (oznacen).
 164  
      * @return Boolean : true - objekt byl vybran, jinak vraci false.
 165  
      */
 166  
     public final Boolean isSeleted()
 167  
     {
 168  0
         return this.selected;
 169  
     }
 170  
 
 171  
     /**
 172  
      * Nastavi X-ovou souradnici daneho objektu.
 173  
      * @param x int : X-ova souradnice daneho objektu
 174  
      */
 175  
     public final void setLocationX(final int x)
 176  
     {
 177  0
         this.locationX = x;
 178  0
     }
 179  
 
 180  
     /**
 181  
      * Nastavi Y-ovou souradnici daneho objektu.
 182  
      * @param y int : Y-ova souradnice daneho objektu
 183  
      */
 184  
     public final void setLocationY(final int y)
 185  
     {
 186  0
         this.locationY = y;
 187  0
     }
 188  
 
 189  
     /**
 190  
      * Nastavi stav objektu - vybran/nevybran.
 191  
      * @param s Boolean : true - objekt byl vybran, jinak je false.
 192  
      */
 193  
     public final void setSelected(final Boolean s)
 194  
     {
 195  0
         this.selected = s;
 196  0
     }
 197  
 
 198  
     /**
 199  
      * Zobrazi grafickou reprezentaci daneho obektu v editoru.
 200  
      * @param g2 Graphics2D : Graficky kontext, do ktereho se bude kreslit.
 201  
      */
 202  
     public abstract void showGraphicsObject(Graphics2D g2);
 203  
 
 204  
     /**
 205  
      * Vrati typ herniho objektu.
 206  
      * @return int : Typ herniho objektu.
 207  
      */
 208  
     public final int getType()
 209  
     {
 210  0
         return this.type;
 211  
     }
 212  
 }