Rev 891 | Details | Compare with Previous | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 879 | chris | 1 | package com.gebauz.burutaru.game; |
| 2 | |||
| 3 | public class ShipParameters |
||
| 4 | { |
||
| 5 | |||
| 6 | |||
| 7 | // Constants======================================================================================== |
||
| 8 | |||
| 9 | public static final int MAX_SPEED_LEVEL = 5; |
||
| 10 | |||
| 11 | public static final float SPEED_FACTORS[] = |
||
| 12 | { |
||
| 882 | chris | 13 | 1.0f, |
| 879 | chris | 14 | 2.0f, |
| 882 | chris | 15 | 3.0f, |
| 879 | chris | 16 | 4.0f, |
| 882 | chris | 17 | 5.0f |
| 879 | chris | 18 | }; |
| 19 | |||
| 20 | // Embedded Types=================================================================================== |
||
| 21 | |||
| 974 | chris | 22 | public enum WeaponType |
| 23 | { |
||
| 24 | PLASMA_SHOT, |
||
| 25 | BEAM_SHOT, |
||
| 26 | SPREAD_SHOT, |
||
| 27 | NAPALM_SHOT, |
||
| 28 | } |
||
| 29 | |||
| 879 | chris | 30 | // Fields=========================================================================================== |
| 31 | |||
| 32 | private GameLogic mGameLogic = null; |
||
| 33 | private int mSpeedLevel = 1; |
||
| 891 | chris | 34 | |
| 35 | private boolean mMissilesEnabled = false; |
||
| 974 | chris | 36 | private boolean mBombEnabled = false; |
| 37 | |||
| 38 | private WeaponType mWeaponType = WeaponType.PLASMA_SHOT; |
||
| 879 | chris | 39 | |
| 40 | // Methods========================================================================================== |
||
| 41 | |||
| 42 | public ShipParameters(GameLogic gameLogic) |
||
| 43 | { |
||
| 44 | mGameLogic = gameLogic; |
||
| 45 | } |
||
| 46 | |||
| 47 | public void upgradeSpeed() |
||
| 48 | { |
||
| 49 | if (mSpeedLevel < MAX_SPEED_LEVEL) |
||
| 50 | mSpeedLevel++; |
||
| 51 | } |
||
| 52 | |||
| 891 | chris | 53 | public void upgradeMissile() |
| 54 | { |
||
| 55 | mMissilesEnabled = true; |
||
| 56 | } |
||
| 57 | |||
| 974 | chris | 58 | public void upgradeBomb() |
| 59 | { |
||
| 60 | mBombEnabled = true; |
||
| 61 | } |
||
| 62 | |||
| 63 | public void activateBeamShot() |
||
| 64 | { |
||
| 65 | mWeaponType = WeaponType.BEAM_SHOT; |
||
| 66 | } |
||
| 67 | |||
| 879 | chris | 68 | public float modifySpeed(float move) |
| 69 | { |
||
| 70 | return move * SPEED_FACTORS[mSpeedLevel-1]; |
||
| 71 | } |
||
| 72 | |||
| 73 | // Getters/Setters================================================================================== |
||
| 74 | |||
| 75 | public int getSpeedLevel() { return mSpeedLevel; } |
||
| 891 | chris | 76 | public boolean areMissilesEnabled() { return mMissilesEnabled; } |
| 974 | chris | 77 | public boolean areBombsEnabled() { return mBombEnabled; } |
| 879 | chris | 78 | |
| 974 | chris | 79 | public WeaponType getWeaponType() { return mWeaponType; } |
| 879 | chris | 80 | |
| 81 | |||
| 82 | } |