Пример #1
0
    //When taking damage
    public void onTakeDamage(float damage, float knockback)
    {
        health -= damage;
        transform.Translate(new Vector2(-knockback, 0));

        if (health > 0)
        {
            audioSource.PlayOneShot(takeDamageSFX);
        }

        //If health = 0, die
        if (health <= 0)
        {
            if (isBoss)
            {
                animator.SetBool("death", true);
                rb.velocity = new Vector2(0, 0);
                Invoke("winCall", 7.5f);
            }
            MusicManager.instance.audioSource.pitch = Random.Range(0.75f, 1.1f);
            MusicManager.instance.audioSource.PlayOneShot(dieSFX);

            GameObject roomControl = transform.parent.transform.gameObject;
            DoorCheck  dc          = roomControl.GetComponent <DoorCheck>();

            Destroy(gameObject);
            dc.enemyCount--;
            dc.enemyKilled();
        }
    }
Пример #2
0
    //Trigger Variables

    void Start()
    {
        doorStart  = transform.position;
        doorCheck  = doorClosingBox.GetComponent <DoorCheck>();
        applyForce = new Vector3(moveDoorTo.x - doorStart.x, moveDoorTo.y - doorStart.y, moveDoorTo.z - doorStart.z);
        AdjustForce();
    }
Пример #3
0
 void Update()
 {
     if (waitTime <= 0 && !spawnedBoss)
     {
         int bossNum = rooms.Count - 1;
         Instantiate(boss, rooms[bossNum].transform.position, Quaternion.identity);
         bossRoom = rooms[bossNum];
         Instantiate(spawn, rooms[0].transform.position, Quaternion.identity);
         Debug.Log("Boss Spawned!");
         spawnedBoss = !spawnedBoss;
         DoorCheck dc = rooms[bossNum].transform.Find("DoorCheck").gameObject.GetComponent <DoorCheck>();
         dc.bossRoom = true;
     }
     else
     {
         waitTime -= Time.deltaTime;
     }
 }
Пример #4
0
 //Check if surrounding rooms have doors to here
 public void checkDoors()
 {
     if (topDoor)
     {
         Collider2D roomCollider = Physics2D.OverlapCircle(new Vector2(transform.position.x, transform.position.y + 20), 0.25f);
         if (roomCollider == null)
         {
             topDoorType = 0;
         }
         else
         {
             GameObject room = roomCollider.gameObject;
             topRoom = room.transform.parent.transform.gameObject;
             DoorCheck otherDoor = room.GetComponent <DoorCheck>();
             if (otherDoor != null && otherDoor.bottomDoor)
             {
                 topDoorType = 1;
             }
             else
             {
                 topDoorType = 2;
             }
         }
     }
     if (rightDoor)
     {
         Collider2D roomCollider = Physics2D.OverlapCircle(new Vector2(transform.position.x + 20, transform.position.y), 0.25f);
         if (roomCollider == null)
         {
             rightDoorType = 0;
         }
         else
         {
             GameObject room = roomCollider.gameObject;
             rightRoom = room.transform.parent.transform.gameObject;
             DoorCheck otherDoor = room.GetComponent <DoorCheck>();
             if (otherDoor != null && otherDoor.leftDoor)
             {
                 rightDoorType = 1;
             }
             else
             {
                 rightDoorType = 2;
             }
         }
     }
     if (bottomDoor)
     {
         Collider2D roomCollider = Physics2D.OverlapCircle(new Vector2(transform.position.x, transform.position.y - 20), 0.25f);
         if (roomCollider == null)
         {
             bottomDoorType = 0;
         }
         else
         {
             GameObject room = roomCollider.gameObject;
             bottomRoom = room.transform.parent.transform.gameObject;
             DoorCheck otherDoor = room.GetComponent <DoorCheck>();
             if (otherDoor != null && otherDoor.topDoor)
             {
                 bottomDoorType = 1;
             }
             else
             {
                 bottomDoorType = 2;
             }
         }
     }
     if (leftDoor)
     {
         Collider2D roomCollider = Physics2D.OverlapCircle(new Vector2(transform.position.x - 20, transform.position.y), 0.25f);
         if (roomCollider == null)
         {
             leftDoorType = 0;
         }
         else
         {
             GameObject room = roomCollider.gameObject;
             leftRoom = room.transform.parent.transform.gameObject;
             DoorCheck otherDoor = room.GetComponent <DoorCheck>();
             if (otherDoor != null && otherDoor.rightDoor)
             {
                 leftDoorType = 1;
             }
             else
             {
                 leftDoorType = 2;
             }
         }
     }
 }
Пример #5
0
 // Start is called before the first frame update
 void Start()
 {
     currentRoom = gameObject.transform.parent.transform.gameObject.transform.parent.transform.gameObject;
     doorCheck   = currentRoom.GetComponent <DoorCheck>();
 }