ecs #58
After Width: | Height: | Size: 216 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 4 KiB |
After Width: | Height: | Size: 6 KiB |
52
src/scenes/directory_search.py
Normal file
52
src/scenes/directory_search.py
Normal 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",
|
||||||
|
)
|
Loading…
Reference in a new issue