Début de la scène directory_search

This commit is contained in:
Tipragot 2023-11-03 09:10:52 +01:00
parent 24021127c7
commit 4af47f74ba
6 changed files with 52 additions and 0 deletions

View file

Before

Width:  |  Height:  |  Size: 216 KiB

After

Width:  |  Height:  |  Size: 216 KiB

View file

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

View file

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

View file

Before

Width:  |  Height:  |  Size: 4 KiB

After

Width:  |  Height:  |  Size: 4 KiB

View file

Before

Width:  |  Height:  |  Size: 6 KiB

After

Width:  |  Height:  |  Size: 6 KiB

View file

@ -0,0 +1,52 @@
"""
Scène du jeu dans lequel Windows Defender se cache de Edmond dans les dossiers.
"""
from engine import Scene
from engine.ecs import Entity
from engine.math import Vec2
from plugins import assets as plugin_assets, render
LINES = 3
COLUMNS = 5
SPACING = 200
class DirectoryPosition(Vec2):
"""
Composant représentant la position d'un dossier sur la grille.
"""
def screen_position(self) -> Vec2:
"""
Calcule la position du dossier sur l'écran.
"""
offset = -(Vec2(SPACING) * Vec2(COLUMNS - 1, LINES - 1) / 2)
first_position = Vec2(render.WIDTH / 2, render.HEIGHT / 2) + offset
return first_position + Vec2(self.x, self.y) * Vec2(SPACING)
class SelectedDirectory:
"""
Ressource permettant de savoir quel dossier a été cliqué pour la dernière fois.
Cette ressource est utilisé pous savoir quel dossier déplacer en
analysant les déplacements de la souris. Pour cela la ressource
contient l'entité du dossier cliqué ainsi que la position
de la souris lors du clic.
"""
def __init__(self, entity: Entity, position: Vec2):
self.entity = entity
self.position = position
SCENE = plugin_assets.loading_scene(
Scene(
[],
[],
[],
),
"story/directory_search",
)