TDMMap Class

Gère la carte en cours et les éléments du jeu

Unit: uDMMap
TDataModule
  uDMMap.TDMMap
type TDMMap = class(TDataModule)

The TDMMap type exposes the following members.

Show:
 NameDescription
DisplayType

Type d'affichage de la map, impacte les tests et calculs sur coordonnées et viewport

JoueurCol

Colonne de la cellule sur laquelle est positionné le joueur en démarrage de jeu (initialisé lors du chargement d'un niveau ou du positionnement d'un sprite de type joueur)

JoueurLig

Ligne de la cellule sur laquelle est positionné le joueur en démarrage de jeu (initialisé lors du chargement d'un niveau ou du positionnement d'un sprite de type joueur)

LevelMap

Grille du niveau de jeu actuel

LevelMapColCount

Nombre de colonnes de la grille du niveau actuel

LevelMapRowCount

Nombre de lignes de la grille du niveau actuel

ListeCanards

Liste des canards renseignée au chargement du niveau de jeu (utilisé pour initialiser et animer les canards présents lorsqu'on lance une partie)

ListeCouveuses

Liste des couveuses renseignée au chargement du niveau de jeu (utilisé pour initialiser les couveuses présentes lorsqu'on lance une partie)

ListeOeufs

Liste des oeufs présents sur la map au moment de son chargmeent (utilisé pour initialiser les oeufs présents lorsqu'on lance une partie)

MapFileName

Nom et chemin d'accès au fichier stockant la map

SceneBitmapScale

Résolution de l'écran (nb de pixels physiques pour 1 pixel logique)

SceneBuffer

Image de la scene en cours = dessin de l'écran

SceneZoom

Niveau de zoom appliqué à l'affichage par l'utilisateur Quand on est dans l'éditeur, c'est enregistré avec la map Quand on est dans un jeu, c'est archivé au niveau de la partie

SpriteHeight

Hauteur d'une image dans la spritesheet

SpriteSheetBitmap

Bitmap contenant la spritesheet

SpriteSheetElements

Liste contenant les éléments liés à la spritesheet

SpriteWidth

Largeur d'une image dans la spritesheet

ViewportCol

Numéro de la colonne affichée en haut à gauche de notre scene Quand on est dans l'éditeur, c'est enregistré avec la map Quand on est dans un jeu, on centre l'affichage par rapport au joueur au démarrage de la partie

ViewportLig

Numéro de la ligne affichée en haut à gauche de notre scene Quand on est dans l'éditeur, c'est enregistré avec la map Quand on est dans un jeu, on centre l'affichage par rapport au joueur au démarrage de la partie

ViewportNbCol

Nombre de lignes affichées dans la scene Calculé en fonction de la taille de l'écran et de la taille des sprites

ViewportNbLig

Nombre de lignes affichées dans la scene Calculé en fonction de la taille de l'écran et de la taille des sprites

isSceneBufferChanged

Indique si l'image du buffer de la scène a été modifiée depuis le dernier appel à getSceneBuffer (= getter de SceneBuffer)

Top
Show:
 NameDescription
AddSpriteSheetElement

Ajoute un élément à la sprite sheet de la map

BeginUpdate

Bloque la map le temps d'arriver sur le EndUpdate (évite un refresh en cours de modification) Utilise le MUTEX FSpriteScene

ChangeViewportColLig

Déplace le Viewport en X,Y

ChargeListeDesImagesDeSpritesEnCache

Initialise une copie des sprites (en images indépendantes) pour accélérer l'affichage de la map

DataModuleCreate

DataModuleDestroy

DessineCaseDeLaMap

Dessine une case de la grille dans le buffer en fonction du viewport

EndUpdate

Débloque la map Utilise le MUTEX FSpriteScene

FinaliseLaMap

Nettoie les éléments de la classe

GetSpriteIDBloquantSurCase

Retourne l'ID de l'élément bloquant (ou du plus bas en Z-Index) aux coordonnées (ACol, ALig)

InitialiseLaMap

Prépare les élements nécessaires au fonctionnement de cette classe

InitialiseScene

Permet l'initialisation de la scène et des infos d'affichage dans le buffer

LoadFromFile

Charge un niveau (carte + spritesheet + définition des éléments) Retourne True si le chargement s'est bien passé, False dans le cas contraire

RefreshSceneBuffer

Dessine la zone actuelle du viewport sur le buffer de la scène

SaveToFile

Overloaded. Sauvegarde le niveau en utilisant son chemin+nom actuel (FMapFileName)

SaveToFile

Overloaded. Sauve un niveau (carte + spritesheet + définition des éléments) Retourne True si la sauvegarde s'est bien passée, False dans le cas contraire

SpriteExists

Vérifie si le sprite indiqué existe déjà dans la liste de sprites de la map Retourne true s'il existe Retourne false s'il n'existe pas

VideLaMap

Réinitialise le contenu de la map

getImageFromSpriteSheetRef

Renvoie le bitmap associé à l'indice demandé

getMapExtendedFileName

Retourne le chemin d'accès au fichier de stockage du niveau spécifié en ajoutant le dossier et son extension au nom passé en paramètre

getMapFileExtension

Retourne l'extension utilisée pour les fichiers de niveaux de ce jeu

getMapFilePath

Retourne le dossier de stockage des maps

getNbSprite

Retourne le nombre d'éléments présents dans la spritesheet de la map en cours

Top