[ad_1]
My participant is ready to dive for a restricted quantity of seconds (as an instance 10 seconds) whereas swimming. When he isn’t diving his breath gauge fills up once more to a max of 10 seconds:
personal bool isFreediving;
personal float breath = 10f;
void Replace()
{
if (isFreediving)
{
if (breath > 0)
{
breath -= Time.deltaTime;
Debug.Log(breath);
}
else
{
Debug.Log("Out of breath");
breath = 0; // optionally available?
isFreediving = false;
// Do employees...
}
}
else
{
if (breath == 0)
{
// TODO: Make the participant cease transferring for 1 second
// TODO: Cease breath += Time.deltaTime for 3 seconds
}
else if (breath > 0 && breath < 10)
{
breath += Time.deltaTime; // TODO: Make breath refill slower/quicker
Debug.Log(breath);
}
}
}
If the participant runs out of breath fully, I would like him to cease transferring for a second and I additionally need the breath gauge to not begin to refill for 3 seconds. I attempted with coroutines, however my code is contained in the Replace()
technique, so it did not work. I notice that the above If
–else
statements have to be rearranged correctly.
Lastly, I would like the breath gauge to be stuffed up at a distinct tempo, for instance:
breath += Time.deltaTime * 0.5f;
I ponder if there’s a higher approach?
[ad_2]