Demigodd
@Demigodd

Как сделать что бы время шло, когда переходишь на другую сцену?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using UnityEngine.UI;

public class AddTable : MonoBehaviour 
{
    public float time;
    public Button BonusBbttn; 
    public GameObject Stopimage; 


    public void ActivateAfter() 
    {
        BonusBbttn.interactable = false;
        Stopimage.gameObject.SetActive(true);
        StartCoroutine(ActivateRoutine());
    }
 
    private IEnumerator ActivateRoutine() 
    {
        yield return new WaitForSeconds(time);

        BonusBbttn.interactable = true;
        Stopimage.gameObject.SetActive(false);
    }
}


Вот допустим есть кнопка при нажатий добавляет 500gold, и отключается на определенный time, при переходе на другую сцену и снова обратно, таймер сбрасывается и кнопка снова активна. Реши через Dont Destry сделать, но там вообще каша.
  • Вопрос задан
  • 200 просмотров
Решения вопроса 1
@S0HardCore
Сохраняешь DateTime начала отсчета в PlayerPrefs, а при загрузке новой сцены сравниваешь, если: DateTime (текущая) - DateTime (из PlayerPrefs) > time (тут понадобится умножение на коэффициент, скорее всего 10 миллионов), то вызываешь корутину с ожиданием "time - (dateTimeCurrent - dateTimePrefs) / 10 000 000.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
NeiroNx
@NeiroNx
Программист
надо сохранить состояние кнопки на стороне сервера(если сингл то в сохранении состояния игры), а при заходе в сцену просто запрашивать это состояние
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы