| 1234567891011121314151617181920212223242526272829303132 |
- import nico
- import nico/keycodes
- # import ./cons
- # Переключает режимы программы
- # 1. Объявляем enum для игровых режимов
- type
- GameModeEnum* = enum
- modeGame, # Стандартный режим игры
- modeShowHelp, # Показ справки
- modeFontGen # Режим рисования/генерации шрифта
- GameMode* {.requiresInit.}= object
- mode: GameModeEnum = modeGame
- proc NewGameMode*():GameMode{.inline.} =
- var sf: GameMode = GameMode()
- return sf
- proc `mode`*(sf: GameMode):GameModeEnum{.inline.}=
- return sf.mode
- proc Update*(sf: var GameMode, dt: float32)=
- # 2. Глобальный переключатель справки (работает в любом режиме)
- # В Nico клавиша F1 мапится через key(keyF1)
- if keyp(K_F1):
- sf.mode = modeShowHelp
- elif keyp(K_F2):
- sf.mode=modeFontGen
- elif keyp(K_ESCAPE):
- sf.mode = modeGame
|