/*
 * Link.h
 *
 *  Created on: 21 févr. 2017
 *      Author: sylvain
 */

#ifndef LINK_H_
#define LINK_H_

#include <QImage>
#include "Animator.h"

struct Position
{
    float x;
    float y;
};

enum Direction
{
    NORTH,
    SOUTH,
    EAST,
    WEST
};

enum Action
{
        STAND,
        WALK,
        ATTACK,
        HURT,
        DEAD
};

class Link {

public:
	Link();
	virtual ~Link();
    void updateLink(void);
    int getLife(void);
    QPixmap linkImage;
    Animator *currentAnimation;

    int getXPos(void);
    int getYPos(void);
    void moveLeft(void);
    void moveRight(void);
    void moveUp(void);
    void moveDown(void);
    void stop(void);
    void attackGeneric(void);
    Direction getDir(void);
    Action getAct(void);
    void setAct(Action a);
    void setLife(int life);
    void  attackR(void);
    void  attackD(void);
    void  attackL(void);
    void  attackU(void);
    Animator attackDown;
    Animator attackLeft;
    Animator attackUp;
    Animator attackRight;

private:

	int life;
    Position pos;
    Direction dir;
    Action state;
    Animator animDown;
    Animator animLeft;
    Animator animUp;
    Animator animRight;



    int speed;
};

#endif /* LINK_H_ */
