Exemplo n.º 1
0
    void OnCollision(Collision2D collision)
    {
        if (collision.gameObject.tag == "Enemy" && !this.invincible)
        {
            addLife(-1);
            if (Life == 0)
            {
                // Die!
                FadeScreen.Animate(8, () =>
                {
                    ClearResources();
                    transform.position = Hub.instance.topDoor.transform.position - Vector3.up * 2;
                    Life = MaxLife;

                    WeaponData = WeaponFactory.getInstance().GetRandomWeapon(1);
                    PowerUpManager.SetPowerUp(PowerUpFactory.GetPowerUpNull());

                    Room currentRoom = FindObjectsOfType <Room>().Where(r => r.ID != -1).First();
                    Hub.instance.topDoor.linkedRoom            = (Instantiate(currentRoom.roomPrefab, Vector3.zero, Quaternion.identity) as GameObject).GetComponent <Room>();
                    Hub.instance.topDoor.linkedRoom.roomPrefab = currentRoom.roomPrefab;
                    Destroy(currentRoom.gameObject);

                    Enemy[] enemies = FindObjectsOfType <Enemy>();
                    for (int i = 0; i < enemies.Length; i++)
                    {
                        Destroy(enemies[i].gameObject);
                    }

                    Globals.CurrentLevel = 0;
                }, "Game over\n\nYou lost all your resources");
            }
            else
            {
                // Set invincible;
                this.invincible     = true;
                this.timeInvincible = 0;
            }
        }
    }
Exemplo n.º 2
0
    void OnTriggerStay2D(Collider2D collider)
    {
        GetComponent <Collider2D>().enabled = hubDoor;

        FadeScreen.Animate(2, ChangeRoom);
    }