Пример #1
0
 public void Update()
 {
     if (currentPowerUp.type != 2)           // If not powerup null
     {
         this.totalDeltaTime += Time.deltaTime;
         if (this.totalDeltaTime > this.currentPowerUp.Duration)
         {
             this.currentPowerUp.OnFinish();
             this.currentPowerUp = PowerUpFactory.GetPowerUpNull();
             this.totalDeltaTime = 0;
         }
     }
 }
Пример #2
0
    void Start()
    {
        this.WeaponData     = WeaponFactory.getInstance().GetRandomWeapon(1);
        this.PowerUpManager = new PowerUpManager();
        this.PowerUpManager.SetPowerUp(PowerUpFactory.GetPowerUpNull());
        this.resources = new Dictionary <ResourceType, int>();
        animator       = GetComponent <Animator>();
        myRigidbody2D  = GetComponent <Rigidbody2D>();

        // Print out starting weapon's name
        GameObject text = Instantiate(Text, Globals.GetPlayer().transform.position, Quaternion.identity) as GameObject;

        text.transform.SetParent(GameObject.Find("OverlayCanvas").transform);
        text.GetComponent <Text>().color = Color.white;
        string rollName = ("" + WeaponData.Roll).Equals("None") ? "" : (WeaponData.Roll.ToString());

        text.GetComponent <Text>().text          = rollName + " " + WeaponData.Type + " T" + WeaponData.Tier;
        text.GetComponent <DestroyAfter>().after = 3.0f;
        text.GetComponent <MoveUp>().speed       = 0.005f;

        Life = MaxLife;
    }
Пример #3
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;
            }
        }
    }