#ifndef _INPUTOBJ_H_
#define _INPUTOBJ_H_

#include "allegro.h"

#include <vector>
using namespace std;

//read mouse & keyboard input, figure out which ones have been used.
//adjust aim for the PlayerUnit.

class InputObj {
 public:
  InputObj ();

  void processInput (bool);
  void clear ();

  vector<bool> * getKeyPressed ();
  vector<bool> * getKeyClicked ();

  vector<bool> * getMousePressed ();
  vector<bool> * getMouseClicked ();

  vector <int> * getKeyMappings ();
  void setKeyMappings (vector <int> *);
  void setKeyMapping (int, int);

  int getMouseControlThreshold ();
  void setMouseControlThreshold (int);

  void getMouseMickeys (int&, int&);

  bool anyClicked ();

  ~InputObj ();

 protected:
  vector<int> * keyMapping;
  vector<bool> * keyPressed;
  vector<bool> * keyClicked;

  vector<bool> * mousePressed;
  vector<bool> * mouseClicked;
  
  int mouseControlThreshold;
  int mouseMickeysX, mouseMickeysY;
};

#endif
