package uk.co.patrickhaston.pdhsprites;
import java.awt.Graphics;

public abstract class PdhSprite 
{
  /**
   * Contents
   */
  protected boolean visible;
  protected boolean active;
  
  /**
   * Constructor
   */
  public PdhSprite()
  {
    visible = false;
    active = false;
  }
  
  /**
   * Methods
   */
   public abstract void paint(Graphics g);
   public abstract void update();
   
   /**
    * Accessor Methods
    */
  public boolean isVisible()
  {
    return visible;
  }
  
  public void setVisible(boolean b)
  {
    visible = b;
  }
  
  public boolean isActive()
  {
    return active;
  }
  
  public void setActive(boolean b)
  {
    active = b;
  }
  
  // suspend the sprite
  public void suspend()
  {
    setVisible(false);
    setActive(false);
  }
  
  // restore the sprite
  public void restore()
  {
    setVisible(true);
    setActive(true);
  }
}

