Vector2 stoneLineSpawnPosition = new Vector2(0f, 0f); //Место спавна первой каменной линии (HardCore Mode) // Use this for initialization void Start() { Debug.Log(DateTime.Now.ToString("hh:mm:ss:ffff") + ": Сцена: " + SceneManager.GetActiveScene().name + " загружена."); SGH = FindObjectOfType <SingleGameHelper>(); MBSGM = FindObjectOfType <MessageBoxSingleGameMenu>(); MBGO = FindObjectOfType <MessageBoxGameOver>(); PP = FindObjectOfType <PlayerProfile>(); score = 0; TxtGameMode.text = "Режим: " + SGH.GetGameMode().ToString(); TxtGameSpeed.text = "Скорость: " + SGH.GetGameSpeed().ToString(); Debug.Log(DateTime.Now.ToString("hh:mm:ss:ffff") + ": Получена и выведена информация об настройках игры:" + " Режим: " + SGH.GetGameMode().ToString() + " ;" + " Скорость: " + SGH.GetGameSpeed().ToString()); Vector2 vec = transform.position; playerPositionX = vec.x + stepSize; playerPositionY = vec.y + stepSize; tetrominoSpawnPosition = new Vector2(playerPositionX + stepSize * 5, playerPositionY + stepSize * 22); tetrominoPreviewSpawnPosition = new Vector2(playerPositionX + stepSize * 15f, playerPositionY + stepSize * 16f); stoneLineSpawnPosition = new Vector2(playerPositionX, playerPositionY); Debug.Log(DateTime.Now.ToString("hh:mm:ss:ffff") + ": Заданы координаты спавна фигур:" + " Координаты спавна активной фигуры: " + tetrominoSpawnPosition.ToString() + " ;" + " Координаты спавна предпросмотра фигуры: " + tetrominoPreviewSpawnPosition.ToString()); if (SGH != null) { gameSpeed = (11 - (double)SGH.GetGameSpeed()) / 10; GameMode = SGH.GetGameMode(); } else { gameSpeed = 1; GameMode = SingleGameHelper.GameModeEnum.Classic; } SpawnNextTetromino(); bestRecord = PlayerPrefs.GetInt(PlayerPreferencesHelper.GetBestRecordKey(GameMode, SGH.GetGameSpeed()), 0); youBestRecord = PlayerPrefs.GetInt(PlayerPreferencesHelper.GetPersonalBestRecordKey(PP.profileNum , GameMode, SGH.GetGameSpeed()), 0); TxtBestRecord.text = bestRecord.ToString(); TxtYouBestRecord.text = youBestRecord.ToString(); Debug.Log(DateTime.Now.ToString("hh:mm:ss:ffff") + ": Получены и выведена информация об рекордах:" + " Общий рекорд: " + TxtYouBestRecord.text + " ;" + " Личный рекорд для " + PP.profileNum + "профиля: " + TxtBestRecord.text); }
//Генерирует ключ для получения общего рекорда, рекорда в определленном режиме, с определенной скоростью public static string GetBestRecordKey(SingleGameHelper.GameModeEnum GameMode, int GameSpeed) { string Key = ""; Key += "BestRecord"; Key += GameMode.ToString(); Key += GameSpeed; Debug.Log(DateTime.Now.ToString("hh:mm:ss:ffff") + ": Создан префикс ключ для получения общего рекорда: " + Key); return(Key); //Пример значения выглядит так (BestRecordClassic9) }
public void CreateSingleGameHelper(SingleGameHelper.GameModeEnum GameMode) //Создает временный объект для хранения выбранной пользователем скорости и режима игры { GameObject SingleGameHelper = new GameObject("SingleGameHelper"); Debug.Log(DateTime.Now.ToString("hh:mm:ss:ffff") + ": Создан временный объект " + SingleGameHelper.name + " ."); SingleGameHelper.AddComponent <SingleGameHelper>(); SingleGameHelper.GetComponent <SingleGameHelper>().SetGameMode(GameMode); Debug.Log(DateTime.Now.ToString("hh:mm:ss:ffff") + ": Задано значение для объекта " + SingleGameHelper.name + " параметр GameMode: " + SingleGameHelper.GetComponent <SingleGameHelper>().GetGameMode()); DontDestroyOnLoad(SingleGameHelper); }
//Генерирует ключ для получения личного рекорда, рекорда для определенного профиля, в определленном режиме, с определенной скоростью public static string GetPersonalBestRecordKey(int ProfileNum, SingleGameHelper.GameModeEnum GameMode, int GameSpeed) { string Key = ""; Key += GetPrefixProfileKey(ProfileNum); Key += "BestRecord"; Key += GameMode.ToString(); Key += GameSpeed; Debug.Log(DateTime.Now.ToString("hh:mm:ss:ffff") + ": Создан префикс ключ для получения личного рекорда: " + Key); return(Key); //Пример значения выглядит так (Profile0_BestRecordClassic9) }
public void SetGameMode(SingleGameHelper.GameModeEnum GM) { GameMode = GM; }