public void take_damage(int dmg, Player.states type) { health -= dmg; //Vector2 enemy_screen_location = Camera.main.WorldToScreenPoint(transform.position); GameObject new_damage = GameObject.Instantiate(damage_text, transform.position, Quaternion.Euler(Vector3.up)); new_damage.transform.SetParent(Camera.main.transform); new_damage.GetComponent <DamageTextBehaviour>().SetDamage(dmg); if (type == Player.states.dark) { transform.Translate(Vector2.down * 0.2f); } if (health <= 0) { GameObject new_pickup = null; if (powerup_value != 0) { if (type == Player.states.light) { new_pickup = GameObject.Instantiate(dark_pickup_prefab, transform.position, transform.rotation); type = Player.states.dark; } else { new_pickup = GameObject.Instantiate(light_pickup_prefab, transform.position, transform.rotation); type = Player.states.light; } } if (new_pickup != null) { new_pickup.GetComponent <Spinny>().SetPickupValue((int)powerup_value, type); } GameController.UnregisterEnemy(gameObject); if (spawner != null) { spawner.GetComponent <SpawnerBehaviour>().Unregister(gameObject); } //Tutorial: Count down the number of enemies to kill before door opens if (door != null) { door.GetComponent <TutorialDoorController>().removeEnemy(); } Destroy(gameObject); } }
public void SetPickupValue(int value, Player.states type) { this.value = value; this.type = type; transform.localScale *= Mathf.Sqrt(value) * 1 / 5; }