- Home /
Question by
diganta_maun · Jun 12, 2017 at 09:12 AM ·
game development
How do I pause my countdown Timer,when the door will open?
I am building a Vr game,And i stuck with this countdown Timer script . i attested the Timer script with my camera under as a child object .
Now my condition is in the game where i reach to exit door and door function working well, also game will be finish and timer should stop!
but in this case where my door is going to open in 'y' axis but my timer is not stoping.
this is my Door Script:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Door : MonoBehaviour
{
// Create a boolean value called "locked" that can be checked in Update()
private bool locked = true;
private bool raiseDoor;
public AudioClip doorLocked;
public AudioClip doorOpened;
public AudioSource doorSoundPlayer;
void Start()
{
doorSoundPlayer = GetComponent<AudioSource>();
}
void Update()
{
// If the door is unlocked and it is not fully raised
// Animate the door raising up
if (!locked && raiseDoor)
{
if (transform.position.y < 4.0f)
{
transform.Translate(0, 2.5f * Time.deltaTime, 0, Space.World);
}
}
}
public void Unlock()
{
// You'll need to set "locked" to true here
locked = false;
}
public void DoorStatus()
{
if (Key.keyCollected && transform.position.y < 4.0f)
{
raiseDoor = true;
doorSoundPlayer.clip = doorOpened;
doorSoundPlayer.Play();
}
else
{
doorSoundPlayer.clip = doorLocked;
doorSoundPlayer.Play();
}
}
}
This is my Timer Script:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class Timer : MonoBehaviour
{
public int timeLeft = 180;
public Text countdownText;
// Use this for initialization
void Start()
{
StartCoroutine("LoseTime");
}
// Update is called once per frame
void Update()
{
countdownText.text = ("Score Time = " + timeLeft);
if (timeLeft <= 0) {
StopCoroutine ("LoseTime");
Application.LoadLevel ("START");
}
}
IEnumerator LoseTime()
{
while (true)
{
yield return new WaitForSeconds(1);
timeLeft--;
}
}
}
Comment