Implementation de la base de l'engine #3

Merged
yannis merged 33 commits from Engine_base into main 2023-12-26 16:36:16 +00:00
Showing only changes of commit 856f59fb0e - Show all commits

View file

@ -1,3 +1,5 @@
from enum import Enum
from src.animation import Anim
from src.camera import Camera
from src.entity_manager import EntityManager
@ -7,6 +9,15 @@ from src.renderer import Renderer
import pygame
class GameState(Enum):
"""Enumération utilisée pour définir l'état actuel du jeu."""
NONE = 0
NORMAL = 1
BOSS_FIGHT = 2
MAIN_MENU = 3
# AJouter si besoin, mais à utiliser de préférence avec parsimony
class Engine:
"""Classe principale qui regroupe tous les composants du programme (Renderer, MapManager, EventHandler, etc ...)"""
def __init__(self):
@ -16,6 +27,9 @@ class Engine:
# Debug mode utilisé pour tricher (voir les collisions, etc...) WOW ! n'utilisez pas ça pour jouer !
self.DEBUG_MODE = False
# Etat courant du jeu
self.game_state = GameState.NONE
self.clock = pygame.time.Clock()
self.running = False
@ -30,7 +44,8 @@ class Engine:
self.renderer.load_tile_set("assets/tiles.png", 16)
anim = Anim(0.5) # TODO : REMOVE (ONLY USED FOR TESTING)
# TODO : REMOVE (ONLY USED FOR TESTING)
anim = Anim(0.5)
anim.load_animation_from_directory("assets/entities/player/none")
self.renderer.register_animation(anim, "player_none")