Fix commit format
This commit is contained in:
@@ -1,8 +1,6 @@
|
|||||||
package com.mygdx.game;
|
package com.mygdx.game;
|
||||||
|
|
||||||
/**
|
// Перечисление всех достижений в игре.
|
||||||
* Перечисление всех достижений в игре.
|
|
||||||
*/
|
|
||||||
public enum Achievement {
|
public enum Achievement {
|
||||||
// Строительство
|
// Строительство
|
||||||
FIRST_BUILDING("first_building",
|
FIRST_BUILDING("first_building",
|
||||||
@@ -82,9 +80,7 @@ public enum Achievement {
|
|||||||
return titleEn;
|
return titleEn;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Найти достижение по ID
|
||||||
* Найти достижение по ID
|
|
||||||
*/
|
|
||||||
public static Achievement fromId(String id) {
|
public static Achievement fromId(String id) {
|
||||||
for (Achievement a : values()) {
|
for (Achievement a : values()) {
|
||||||
if (a.id.equals(id)) {
|
if (a.id.equals(id)) {
|
||||||
|
|||||||
@@ -35,9 +35,7 @@ public class AchievementPopup {
|
|||||||
Achievements.clearNewUnlock();
|
Achievements.clearNewUnlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Обновить таймер
|
||||||
* Обновить таймер
|
|
||||||
*/
|
|
||||||
public void update(float deltaTime) {
|
public void update(float deltaTime) {
|
||||||
if (active) {
|
if (active) {
|
||||||
timer -= deltaTime;
|
timer -= deltaTime;
|
||||||
@@ -48,16 +46,12 @@ public class AchievementPopup {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Активен ли попап
|
||||||
* Активен ли попап
|
|
||||||
*/
|
|
||||||
public boolean isActive() {
|
public boolean isActive() {
|
||||||
return active && currentAchievement != null;
|
return active && currentAchievement != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Отрисовать попап достижения
|
||||||
* Отрисовать попап достижения
|
|
||||||
*/
|
|
||||||
public void render(SpriteBatch batch, BitmapFont font, GlyphLayout layout,
|
public void render(SpriteBatch batch, BitmapFont font, GlyphLayout layout,
|
||||||
Texture whitePixel, int screenWidth, int screenHeight) {
|
Texture whitePixel, int screenWidth, int screenHeight) {
|
||||||
if (!isActive()) {
|
if (!isActive()) {
|
||||||
|
|||||||
@@ -3,9 +3,7 @@ package com.mygdx.game;
|
|||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
// Менеджер достижений - проверка условий и разблокировка.
|
||||||
* Менеджер достижений - проверка условий и разблокировка.
|
|
||||||
*/
|
|
||||||
public class Achievements {
|
public class Achievements {
|
||||||
private static Set<Achievement> unlocked = new HashSet<>();
|
private static Set<Achievement> unlocked = new HashSet<>();
|
||||||
private static Achievement lastUnlocked = null;
|
private static Achievement lastUnlocked = null;
|
||||||
@@ -13,9 +11,7 @@ public class Achievements {
|
|||||||
private static final float POPUP_DURATION = 3.0f;
|
private static final float POPUP_DURATION = 3.0f;
|
||||||
private static boolean hasNewUnlockFlag = false;
|
private static boolean hasNewUnlockFlag = false;
|
||||||
|
|
||||||
/**
|
// Проверить все условия достижений
|
||||||
* Проверить все условия достижений
|
|
||||||
*/
|
|
||||||
public static void check(AbsurdCityBuilder1 game) {
|
public static void check(AbsurdCityBuilder1 game) {
|
||||||
// Строительство
|
// Строительство
|
||||||
int total = GameSave.getTotalBuildings();
|
int total = GameSave.getTotalBuildings();
|
||||||
@@ -58,18 +54,14 @@ public class Achievements {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Попробовать разблокировать достижение
|
||||||
* Попробовать разблокировать достижение
|
|
||||||
*/
|
|
||||||
private static void tryUnlock(Achievement achievement) {
|
private static void tryUnlock(Achievement achievement) {
|
||||||
if (!unlocked.contains(achievement)) {
|
if (!unlocked.contains(achievement)) {
|
||||||
unlock(achievement);
|
unlock(achievement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Разблокировать достижение
|
||||||
* Разблокировать достижение
|
|
||||||
*/
|
|
||||||
public static void unlock(Achievement achievement) {
|
public static void unlock(Achievement achievement) {
|
||||||
if (unlocked.contains(achievement)) {
|
if (unlocked.contains(achievement)) {
|
||||||
return;
|
return;
|
||||||
@@ -84,30 +76,22 @@ public class Achievements {
|
|||||||
GameSave.saveSettings();
|
GameSave.saveSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Отметить посещение планеты
|
||||||
* Отметить посещение планеты
|
|
||||||
*/
|
|
||||||
public static void visitPlanet(Planet planet) {
|
public static void visitPlanet(Planet planet) {
|
||||||
GameSave.onVisitPlanet(planet);
|
GameSave.onVisitPlanet(planet);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Есть ли новое непоказанное достижение
|
||||||
* Есть ли новое непоказанное достижение
|
|
||||||
*/
|
|
||||||
public static boolean hasNewUnlock() {
|
public static boolean hasNewUnlock() {
|
||||||
return hasNewUnlockFlag;
|
return hasNewUnlockFlag;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Сбросить флаг нового достижения
|
||||||
* Сбросить флаг нового достижения
|
|
||||||
*/
|
|
||||||
public static void clearNewUnlock() {
|
public static void clearNewUnlock() {
|
||||||
hasNewUnlockFlag = false;
|
hasNewUnlockFlag = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Обновить таймер попапа
|
||||||
* Обновить таймер попапа
|
|
||||||
*/
|
|
||||||
public static void update(float deltaTime) {
|
public static void update(float deltaTime) {
|
||||||
if (popupTimer > 0) {
|
if (popupTimer > 0) {
|
||||||
popupTimer -= deltaTime;
|
popupTimer -= deltaTime;
|
||||||
@@ -117,44 +101,32 @@ public class Achievements {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Проверить, разблокировано ли достижение
|
||||||
* Проверить, разблокировано ли достижение
|
|
||||||
*/
|
|
||||||
public static boolean isUnlocked(Achievement achievement) {
|
public static boolean isUnlocked(Achievement achievement) {
|
||||||
return unlocked.contains(achievement);
|
return unlocked.contains(achievement);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Получить количество разблокированных достижений
|
||||||
* Получить количество разблокированных достижений
|
|
||||||
*/
|
|
||||||
public static int getUnlockedCount() {
|
public static int getUnlockedCount() {
|
||||||
return unlocked.size();
|
return unlocked.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Получить общее количество достижений
|
||||||
* Получить общее количество достижений
|
|
||||||
*/
|
|
||||||
public static int getTotalCount() {
|
public static int getTotalCount() {
|
||||||
return Achievement.values().length;
|
return Achievement.values().length;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Получить последнее разблокированное достижение (для показа попапа)
|
||||||
* Получить последнее разблокированное достижение (для показа попапа)
|
|
||||||
*/
|
|
||||||
public static Achievement getLastUnlocked() {
|
public static Achievement getLastUnlocked() {
|
||||||
return lastUnlocked;
|
return lastUnlocked;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Показывается ли сейчас попап
|
||||||
* Показывается ли сейчас попап
|
|
||||||
*/
|
|
||||||
public static boolean isShowingPopup() {
|
public static boolean isShowingPopup() {
|
||||||
return popupTimer > 0 && lastUnlocked != null;
|
return popupTimer > 0 && lastUnlocked != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Получить прогресс попапа (0-1)
|
||||||
* Получить прогресс попапа (0-1)
|
|
||||||
*/
|
|
||||||
public static float getPopupProgress() {
|
public static float getPopupProgress() {
|
||||||
return popupTimer / POPUP_DURATION;
|
return popupTimer / POPUP_DURATION;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,9 +2,7 @@ package com.mygdx.game;
|
|||||||
|
|
||||||
import com.badlogic.gdx.graphics.Color;
|
import com.badlogic.gdx.graphics.Color;
|
||||||
|
|
||||||
/**
|
// Конфигурация игры - все цвета, константы и настройки в одном месте.
|
||||||
* Конфигурация игры - все цвета, константы и настройки в одном месте.
|
|
||||||
*/
|
|
||||||
public class GameConfig {
|
public class GameConfig {
|
||||||
|
|
||||||
// ==================== РАЗМЕРЫ ЭКРАНА ====================
|
// ==================== РАЗМЕРЫ ЭКРАНА ====================
|
||||||
|
|||||||
@@ -90,9 +90,7 @@ public class GameSave {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Проверить, есть ли сохранение
|
||||||
* Проверить, есть ли сохранение
|
|
||||||
*/
|
|
||||||
public static boolean hasSave() {
|
public static boolean hasSave() {
|
||||||
Preferences prefs = Gdx.app.getPreferences(PREF_NAME);
|
Preferences prefs = Gdx.app.getPreferences(PREF_NAME);
|
||||||
// Есть сохранение если есть здания ИЛИ статистика
|
// Есть сохранение если есть здания ИЛИ статистика
|
||||||
@@ -101,9 +99,7 @@ public class GameSave {
|
|||||||
return !buildings.isEmpty() || totalBuilt > 0;
|
return !buildings.isEmpty() || totalBuilt > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Удалить сохранение
|
||||||
* Удалить сохранение
|
|
||||||
*/
|
|
||||||
public static void deleteSave() {
|
public static void deleteSave() {
|
||||||
Preferences prefs = Gdx.app.getPreferences(PREF_NAME);
|
Preferences prefs = Gdx.app.getPreferences(PREF_NAME);
|
||||||
prefs.clear();
|
prefs.clear();
|
||||||
@@ -112,9 +108,7 @@ public class GameSave {
|
|||||||
resetAll();
|
resetAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Сбросить всю статистику (для новой игры)
|
||||||
* Сбросить всю статистику (для новой игры)
|
|
||||||
*/
|
|
||||||
public static void resetAll() {
|
public static void resetAll() {
|
||||||
totalBuildings = 0;
|
totalBuildings = 0;
|
||||||
earthBuildings = 0;
|
earthBuildings = 0;
|
||||||
@@ -139,9 +133,7 @@ public class GameSave {
|
|||||||
prefs.flush();
|
prefs.flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Загрузить только настройки (язык) при старте
|
||||||
* Загрузить только настройки (язык) при старте
|
|
||||||
*/
|
|
||||||
public static void loadSettings() {
|
public static void loadSettings() {
|
||||||
Preferences prefs = Gdx.app.getPreferences(PREF_NAME);
|
Preferences prefs = Gdx.app.getPreferences(PREF_NAME);
|
||||||
String language = prefs.getString(KEY_LANGUAGE, "ru");
|
String language = prefs.getString(KEY_LANGUAGE, "ru");
|
||||||
@@ -161,9 +153,7 @@ public class GameSave {
|
|||||||
visitedVenus = prefs.getBoolean(KEY_VISITED_VENUS, false);
|
visitedVenus = prefs.getBoolean(KEY_VISITED_VENUS, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Сохранить настройки и статистику
|
||||||
* Сохранить настройки и статистику
|
|
||||||
*/
|
|
||||||
public static void saveSettings() {
|
public static void saveSettings() {
|
||||||
Preferences prefs = Gdx.app.getPreferences(PREF_NAME);
|
Preferences prefs = Gdx.app.getPreferences(PREF_NAME);
|
||||||
|
|
||||||
@@ -185,9 +175,7 @@ public class GameSave {
|
|||||||
prefs.flush();
|
prefs.flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Сохранить текущую планету
|
||||||
* Сохранить текущую планету
|
|
||||||
*/
|
|
||||||
public static void savePlanet(Planet planet) {
|
public static void savePlanet(Planet planet) {
|
||||||
Preferences prefs = Gdx.app.getPreferences(PREF_NAME);
|
Preferences prefs = Gdx.app.getPreferences(PREF_NAME);
|
||||||
prefs.putString(KEY_PLANET, planet.name());
|
prefs.putString(KEY_PLANET, planet.name());
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
package com.mygdx.game;
|
package com.mygdx.game;
|
||||||
|
|
||||||
/**
|
// Локализация игры - все тексты на русском и английском.
|
||||||
* Локализация игры - все тексты на русском и английском.
|
|
||||||
*/
|
|
||||||
public class Localization {
|
public class Localization {
|
||||||
private static String currentLanguage = "ru";
|
private static String currentLanguage = "ru";
|
||||||
|
|
||||||
|
|||||||
@@ -106,9 +106,7 @@ public class MenuRenderer {
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Обновить тексты кнопок меню (при смене языка).
|
||||||
* Обновить тексты кнопок меню (при смене языка).
|
|
||||||
*/
|
|
||||||
public void refreshMenuTexts() {
|
public void refreshMenuTexts() {
|
||||||
createMainMenuButtons();
|
createMainMenuButtons();
|
||||||
createPlanetSelectButtons();
|
createPlanetSelectButtons();
|
||||||
@@ -278,9 +276,7 @@ public class MenuRenderer {
|
|||||||
font.getData().setScale(1.0f);
|
font.getData().setScale(1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// Проверить клик на переключатель языка.
|
||||||
* Проверить клик на переключатель языка.
|
|
||||||
*/
|
|
||||||
public boolean checkLanguageClick(float mouseX, float mouseY) {
|
public boolean checkLanguageClick(float mouseX, float mouseY) {
|
||||||
float langX = width - 80;
|
float langX = width - 80;
|
||||||
float langY = height - 50;
|
float langY = height - 50;
|
||||||
|
|||||||
Reference in New Issue
Block a user