示例#1
0
    void Update()
    {
        dave.transform.position += (Vector3.right * speed * Time.deltaTime);

        if (dave.transform.position.x > rightLimit)
        {
            SceneManager.LoadScene(Constants.SCENE_NAME_STAGES + DaveControl.getInstance().currentLevel);
        }
    }
示例#2
0
 void Start()
 {
     if (DaveControl.getInstance())
     {
         DaveControl.getInstance().gameObject.SetActive(false);
         DaveControl.getInstance().hasTrophy = false;
     }
     if (HUDControl.getInstance())
     {
         HUDControl.getInstance().ConfigureHudForTransition();
     }
     dave.transform.position = new Vector2(0, .46f);
 }
    //Aqui no Awake, o que ocorre eh o seguinte
    void Awake()
    {
        //SE ja ouver um _instance existente e esse _instance nao é esse objeto aqui, então destrói esse objeto.
        if (_instance != null && _instance != this)
        {
            Destroy(gameObject);
            return;
        }
        else             //Caso contrario, se o _instance for nulo, fala que agora o _instance eh esse objeto aqui.
        {
            _instance = this;
        }

        //Isso evita duplicatas. Se a gente passar varias vezes por uma cena que crie esse objeto, soh um vai
        //existir. O resto vai ser destruido.
        //Olhar o START()
    }
    public void UpdateHud()
    {
        if (DaveControl.getInstance())
        {
            txtHud.text = "SCORE: " + DaveControl.getInstance().score + " LEVEL:" + DaveControl.getInstance().currentLevel + " DAVES:";
            switch (DaveControl.getInstance().lives)
            {
            default:
            case 3:
                dave1.SetActive(true);
                dave2.SetActive(true);
                dave3.SetActive(true);
                break;

            case 2:
                dave1.SetActive(true);
                dave2.SetActive(true);
                dave3.SetActive(false);
                break;

            case 1:
                dave1.SetActive(true);
                dave2.SetActive(false);
                dave3.SetActive(false);
                break;

            case 0:
                dave1.SetActive(false);
                dave2.SetActive(false);
                dave3.SetActive(false);
                break;
            }

            trophyGottenBar.SetActive(DaveControl.getInstance().hasTrophy ? true : false);
        }

        if (SceneManager.GetActiveScene() == SceneManager.GetSceneByName(Constants.SCENE_NAME_TRANSITION))
        {
            txtTransition.gameObject.SetActive(false);
        }
    }
 public void ConfigureHudForTransition()
 {
     trophyGottenBar.SetActive(false);
     txtTransition.text = "GOOD WORK! ONLY " + (Constants.MAX_LEVELS - DaveControl.getInstance().currentLevel + 1) + " MORE TO GO!";
     txtTransition.gameObject.SetActive(true);
 }