package hello;

import javax.microedition.lcdui.Graphics;

public class Weapon
{
    private mySprite weapon;
    private int weaponType;
    private boolean fired = false;

    public Weapon(int type)
    {
       weaponType = type;

       switch(type)
       {
           case 0:
               weapon = new mySprite("Bullet.png", 10, 21);
               //weapon.setLocation(60.0, 13.0);
               break;
           default:
               weapon = new mySprite("Bullet.png", 10, 21);
               break;
       }
    }

    public mySprite getSprite()
    {
        return weapon;
    }

    public void fire(double angle)
    {
        if(weaponType == 0)
        {
            weapon.setRotation(angle);

            if(fired)
            {
                switch((int)angle)
                {
                    case 0:
                       weapon.move(0.0, -3.0);
                       break;
                    case 45:
                        weapon.move(1.5, 1.5);
                        break;
                    case 90:
                        weapon.move(3.0, 0.0);
                        break;
                    case 135:
                        weapon.move(1.5, -1.5);
                        break;
                    case 180:
                        weapon.move(0.0, 3.0);
                        break;
                    default:
                        System.out.println("Please use a multiple of 45 degrees.");
                        break;
                }
            }
        }
    }

    public void draw(Graphics g)
    {
        weapon.draw(g);
    }

    public void update(Canvas canv)
    {
        if(weapon.getPosx() < 0 || weapon.getPosx() > canv.getWidth() || weapon.getPosy() < 0 || weapon.getPosy() > canv.getHeight())
        {
            weapon.setInactive();
        }
    }


    public void setFireBool(boolean is)
    {
        fired = is;
    }
}
