/*==============================================================
Sprite
par Martin Robinson
cet objet sert de base à d'autre objet
il sert à gerer les comportements de l'objet dans le jeux
================================================================
preprocesseur*/

#pragma once
#ifndef _SPRITE
#define _SPRITE

#include "point.hpp"
#include "shell.hpp"

/*==============================================================
classe
==============================================================*/

class sprite{
protected:
    point _pos,                     //position du sprite
          _dir;                     //direction du sprite
    float _radX,                   //angle axe X
           _radY,                   //angle axe Y
           _radZ;                   //angle axe Z
    shell _model;                   //le model à dessiner
public:
    sprite();
    sprite(const shell&);          //constructeur avec un model en parametre

    const shell getShell()const;  //obtenir le model avec les modfication
    const point& getPos()const;   //obtenir la position
    const point& getDir()const;   //obtenir la direction
    float getRadX()const;         //obtenir l'angle en axe X
    float getRadY()const;         //obtenir l'angle en axe Y
    float getRadZ()const;         //obtenir l'angle en axe Z

    void setPos(const point&);    //modifier la position
    void setRad(float, float, float);
                                   //modifier la position
};

#endif
