Witam. Mam problem z odliczeniem czasu w c#. Wiem, że istnieje klasa Thread
System.Threading.Thread.Sleep(5000);
Lecz Ona usypia program i nic nie może się dziać.
Wpadłem na pomysł oparcia się na dacie (DataTime) i zrobiłem taki programik:
DateTime startGameTime;
System.DateTime startMessage;
void Start()
{
startGameTime = DateTime.Now;
startMessage = startGameTime + TimeSpan.FromSeconds(5);
}
void Update ()
{
if (startMessage == DateTime.Now)
{
//Dalsze instrukcje
}
}
Programuje w unity gdzie:
Start() - wykonuje się przy włączeniu skryptu
Update() - wykonuje się co klatkę (co chwile)
Jak wyświetlę sobie startMessage i DataTime.Now to mogę zaobserwować, że w pewnym momencie są takie same (DataTime nie mierzy milisekund), a jednak skrypt nie wchodzi w if'a.
Co może być tego przyczyną? Jak to naprawić?
A może ktoś zna lepszy sposób jak w unity odmierzyć czas?
Z góry dziękuje za pomoc :)