Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Toybox.System as Sys;
- using Toybox.WatchUi as Ui;
- class MazeInputDelegate extends Ui.BehaviorDelegate {
- var view = null;
- var isTouchscreen = false;
- function initialize(_view) {
- view = _view;
- BehaviorDelegate.initialize();
- isTouchscreen = Sys.getDeviceSettings().isTouchScreen;
- }
- function onMenu() {
- // Dlouhý stisk (Fenix: dlouze menu, Vivo3: dlouze na displej, 820: menu tlačítko dole)
- if (isTouchscreen) {
- view.navigateBack();
- } else {
- view.startGame();
- }
- return true;
- }
- function onPreviousPage() {
- if (isTouchscreen) {
- view.rotateRight(); // Pootočit kruh nahoru (Vivo3: gesto nahoru, 820: gesto doleva)
- } else {
- view.switchRight(); // Na Fenixu horní tlačítko nahoru mění kruhy
- }
- return true;
- }
- function onNextPage() {
- view.rotateLeft(); // Pootočit kruh dolu (Vivo3 gesto, 820 gesto, Fenix tlačítko nalevo dole)
- return true;
- }
- function onBack() {
- if (isTouchscreen) {
- view.switchRight(); // Dotykové gesto, změní kruhy směrem doleva
- return true;
- }
- return false;
- }
- function onSwipe(swipeEvent) {
- var dir = swipeEvent.getDirection();
- if (dir == WatchUi.SWIPE_DOWN) {
- onPreviousPage();
- } else if (dir == WatchUi.SWIPE_UP) {
- onNextPage();
- }
- return true;
- }
- function onKey(keyEvent) {
- // Přepínání kruhů (Fenix: back button)
- //System.println("Key: " + keyEvent.getKey());
- if (keyEvent.getKey() == Ui.KEY_ESC && keyEvent.getType() == Ui.PRESS_TYPE_ACTION) {
- if (isTouchscreen) {
- view.switchRight(); // Dotykové gesto, změní kruhy směrem doleva
- } else {
- view.navigateBack(); // Tlačítkové hodinky: jde zpět do menu
- }
- }
- // Action button (Fenix: napravo nahoře, Vivo3: hardwarové tlačítko), přepne na mód s kuličkou (spustí hru)
- // - startovací tlačítko na 820
- if (keyEvent.getKey() == Ui.KEY_ENTER && keyEvent.getType() == Ui.PRESS_TYPE_ACTION) {
- view.startGame();
- }
- else if (keyEvent.getKey() == Ui.KEY_START && keyEvent.getType() == Ui.PRESS_TYPE_ACTION) {
- view.startGame();
- }
- // Key lap (nalevo dole na 820), otočí s kruhy
- if (keyEvent.getKey() == Ui.KEY_LAP && keyEvent.getType() == Ui.PRESS_TYPE_ACTION) {
- view.rotateRight();
- }
- return true;
- }
- function onTap(clickEvent) {
- // Tapnutí na displej (Vivo3 a 820), vybere konkrétní obruč
- if (clickEvent.getType() == Ui.CLICK_TYPE_TAP) {
- view.switchToCircle(clickEvent.getCoordinates());
- }
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment