Weapon.java
01 /*
02  *
03  * Created: Jun  7 2006
04  *
05  * Copyright (C) 1999-2000 Fabien Sanglard
06  
07  * This program is free software; you can redistribute it and/or
08  * modify it under the terms of the GNU General Public License
09  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
20  */
21 
22 package rtype.entity;
23 
24 public abstract class Weapon extends AnimatedEntity
25 {
26   protected PlayerShip playerShip = null;
27   
28   protected boolean displayChargeAnimation;
29   
30   // This field hold the blast charge..
31   protected float chargeAnimationCursor;
32   
33   protected float chargeAnimationSpeed = 4.4f;
34   
35   public Weapon()
36   {
37     
38   }
39   
40   public Weapon(PlayerShip playerShip)
41   {
42     this.playerShip = playerShip;
43   }
44   
45   public abstract void startChargingAnimation();
46   public abstract void stopChargingAnimation();
47   public abstract void fire(float chargePercentage);
48 }