configuration

package
v0.0.0-...-83b3ea5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 15, 2024 License: GPL-3.0 Imports: 5 Imported by: 0

Documentation

Overview

configuration est le paquet qui gère la lecture des fichiers de configuration et leur enregistrement dans une structure de données adaptée.

Certains élèments de la configuration sont directement lus du fichier de configuration et d'autres sont calculés à partir de ce qui a été lu.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Load

func Load(configurationFileName string)

Load se charge de lire un fichier de configuration, de remplir les champs obtenus par simple lecture, puis d'appeler la fonction qui remplit les champs calculés.

Types

type Configuration

type Configuration struct {
	DebugMode                     bool
	NumTileX, NumTileY            int
	TileSize                      int
	NumCharacterAnimImages        int
	NumFramePerCharacterAnimImage int
	NumTileForDebug               int
	FloorKind                     int
	FloorFile                     string

	CameraMode int
	StopCamera bool
	RoundEarth bool

	RandomGeneration     bool
	ChunkSize            int
	Seed                 int64
	RandomGenerationSave bool

	ConnectedTile bool

	ActiveBigStep bool
	BigStep       int

	BetterCharacter bool
	BetterBlocking  bool

	ActivePortal          bool
	ActiveParticlesPortal bool

	ActiveScrolling bool

	FullScreen bool

	ScreenWidth, ScreenHeight            int `json:"-"`
	ScreenCenterTileX, ScreenCenterTileY int `json:"-"`
	CameraX, CameraY                     int `json:"-"`
	PlayerX, PlayerY                     int
	SeedRand                             *rand.Rand
	ConfigurationFileName                string `json:"-"`
}

Configuration définit les élèments de la configuration du jeu. Pour ajouter un élèment de configuration il suffit d'ajouter un champs dans cette structure.

Les champs directement lus dans le fichier de configuration sont :

  • DebugMode : indique si on est en mode debug ou pas
  • NumTileX, NumTileY : les nombres de cases affichées à l'écran en largeur et hauteur.
  • TileSize : la taille en pixels du côté d'une case.
  • NumCharacterAnimImages : le nombre de d'images de l'animation du personnage.
  • NumFramePerCharacterAnimImage : le nombre d'appels à update ou de 1/60 de seconde) qui ont lieu entre deux images de l'animation du personnage.
  • NumTileForDebug : le nombre de cases à ajouter à droite de l'écran pour afficher les informations de debug
  • CameraMode : le type de caméra à utiliser (0 pour une caméra fixe, 1 pour une caméra qui suit le personnage et 2 pour une caméra fluide).
  • FloorKind : détermine la méthode à utiliser pour afficher le terrain (quadrillage, lecture dans un fichier, quadtree, etc)
  • FloorFile : le chemin d'un fichier où lire les informations sur le terrain si nécessaire
  • StopCamera : empêche l'affichage du vide
  • RoundEarth : répète la carte à l'infini
  • RandomGeneration : créé un terrain aléatoirement infini
  • ChunkSize : taille d'un chunk pour la génération aléatoire
  • Seed : initialise l'aléatoire
  • RandomGenerationSave : Permet de sauvegarder et charger la carte générée (ctrl+s save et ctrl+o load)
  • ConnectedTile : modifie les tuiles en fonctions des tuiles qui sont autour
  • ActiveBigStep : active déplacement rapide grâce à ctrl+flèche
  • BigStep : distance de ce déplacement
  • BetterCharacter : ajoute une meilleure ombre et vole du personage en debug
  • BetterBlocking : bloque les déplacement impossible
  • ActivePortal : active les portails (I pour les placer / supprimer, T pour se téléporter)
  • ActiveParticlesPortal: améliore le visuel du portail
  • ActiveScrolling: Change la taille de l'affichage grâce à la mollette
  • FullScreen: met le jeu en fullScreen et inversement (espace)

Les champs calculés à partir des précédents sont :

  • ScreenWidth, ScreenHeight : la largeur et la hauteur de l'écran en pixels (hors zone d'affichage pour le debug)
  • ScreenCenterTileX, ScreenCenterTileY : les coordonnées de la case au centre de l'écran, où sera placée la caméra.
var Global Configuration

Global est la variable qui contient la configuration du jeu. Sa valeur est fixée à partir de la lecture d'un fichier de configuration par la fonction Load. C'est cette variable qu'il faut lire (configuration.Global) pour accéder à la configuration depuis d'autres paquets.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL