40 lines
1.6 KiB
Python
40 lines
1.6 KiB
Python
|
from typing import Any
|
||
|
|
||
|
|
||
|
class Settings:
|
||
|
def __init__(self):
|
||
|
self.KEY_UP_PRIMARY = 'z', 'Touche principale pour aller vers le haut'
|
||
|
self.KEY_UP_SECONDARY = 'KEY_UP', 'Touche secondaire pour aller vers le haut'
|
||
|
self.KEY_DOWN_PRIMARY = 's', 'Touche principale pour aller vers le bas'
|
||
|
self.KEY_DOWN_SECONDARY = 'KEY_DOWN', 'Touche secondaire pour aller vers le bas'
|
||
|
self.KEY_LEFT_PRIMARY = 'q', 'Touche principale pour aller vers la gauche'
|
||
|
self.KEY_LEFT_SECONDARY = 'KEY_LEFT', 'Touche secondaire pour aller vers la gauche'
|
||
|
self.KEY_RIGHT_PRIMARY = 'd', 'Touche principale pour aller vers la droite'
|
||
|
self.KEY_RIGHT_SECONDARY = 'KEY_RIGHT', 'Touche secondaire pour aller vers la droite'
|
||
|
self.TEXTURE_PACK = 'ASCII', 'Pack de textures utilisé'
|
||
|
|
||
|
def __getattribute__(self, item: str) -> Any:
|
||
|
superattribute = super().__getattribute__(item)
|
||
|
if isinstance(superattribute, tuple) and item.isupper():
|
||
|
return super().__getattribute__(item)[0]
|
||
|
return superattribute
|
||
|
|
||
|
def get_comment(self, item: str) -> str:
|
||
|
"""
|
||
|
Retrieve the comment of a setting.
|
||
|
"""
|
||
|
if hasattr(self, item) and isinstance(object.__getattribute__(self, item), tuple):
|
||
|
return object.__getattribute__(self, item)[1]
|
||
|
for key in self.settings_keys:
|
||
|
print(key)
|
||
|
if getattr(self, key) == item:
|
||
|
return object.__getattribute__(self, key)[1]
|
||
|
|
||
|
@property
|
||
|
def settings_keys(self):
|
||
|
"""
|
||
|
Get the list of all parameters.
|
||
|
"""
|
||
|
return (key for key in self.__dict__)
|
||
|
|