package it.albertus.cycles.model; public enum Setting { // The order matters. gearsCount (0), // 0-1: numero di marce del cambio (solo lsB). rpmRedline (1), // 2-3: regime redline, min 8500 (stessa scala del regime limitatore, il motore si rompe quando regime >= regime red mark per piu' di qualche secondo; valori <8500 sono considerati =8500). rpmLimit (2), // 4-5: regime limitatore, max 14335 (il contagiri si blocca ma la moto conserva le prestazioni di accelerazione a quel regime, quindi la coppia a quel regime deve essere azzerata se si vuole interrompere l'accelerazione della moto). overspeedGracePeriod (3), // 6-7: periodo di grazia su red mark (valore alto: il motore si rompe dopo piu' tempo. Per valori msB >=0x80 si rompe subito). grip (4), // 8-9: soglia di slittamento in sterzata (valore alto: slitta meno). unknown1 (5), // 10-11: ? brakingSpeed (6), // 12-13: velocita' di frenata. unknown2 (7), // 14-15: ? spinThreshold (8), // 16-17: soglia di testacoda (valore basso: testacoda piu' probabile. Per valori msB >=0x80 testacoda sicuro). unknown3 (9), // 18-19: ? rpmDownshift (10); // 20-21: regime di scalata con cambio automatico (skill < 3). private int index; private Setting(int index) { this.index = index; } public int getIndex() { return index; } public static Setting getSetting(String name) { for (Setting setting : Setting.values()) { if (setting.toString().equalsIgnoreCase(name)) { // Case insensitive. return setting; } } return null; } public static Setting getSetting(int index) { for (Setting setting : Setting.values()) { if (setting.getIndex() == index) { return setting; } } return null; } }