package character

const (
	orientedDown int = iota
	orientedLeft
	orientedRight
	orientedUp
)

// Character définit les charactéristiques du personnage.
//
// Champs exportées :
//   - X,Y : les coordonnées absolues de l'endroit où il se trouve.
//   - Portail_actif : nombre de portails actifs (0,1,2).
//   - Portail_depart_x : abscisse du premier téléporteur.
//   - Portail_depart_y : ordonnée du premier téléporteur.
//   - Portail_arrivee_x : abscisse du second téléporteur.
//   - Portail_arrivee_y : ordonnée du second téléporteur.
//   - CanMove : empêche le déplacement pendant un zoom / dézoom.
//
// Champs non exportés :
//   - orientation : l'orientation du personnage (haut, bas, gauche, droite).
//   - animationStep : l'étape d'animation (-1 ou 1, représentant l'animation
//     d'un pas à gauche ou à droite).
//   - xInc, yInc : les incréments en X et Y à réaliser après la prochaine animation.
//   - moving : l'information de si une animation est en cours ou pas.
//   - shift : la position actuelle en pixels du personnage relativement à ses
//     coordonnées absolues.
//   - animationFrameCount : le nombre d'appels à update (ou de 1/60 de seconde) qui
//     ont eu lieu depuis la dernière étape d'animation.
//   - tp_autorise : indique si la téléportation est permise à tout moment.

type Character struct {
	X, Y                int
	orientation         int
	animationStep       int
	xInc, yInc          int
	moving              bool
	shift               int
	animationFrameCount int
	Portail_actif       int
	tp_autorise         bool
	Portail_depart_x    int
	Portail_depart_y    int
	Portail_arrivee_x   int
	Portail_arrivee_y   int
	CanMove             bool
}
