TowerBuildGame/Tower Build Game/Assets/Scripts/ExplodeCubes.cs
Dvurechensky caa884e587 1.2
2025-05-12 05:50:37 +03:00

42 lines
1.4 KiB
C#

/*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 05:48:46
* Version: 1.0.4
*/
using UnityEngine;
public class ExplodeCubes : MonoBehaviour
{
public GameObject restartButton, explosion;
private bool _collisionSet;
private void OnCollisionEnter(Collision collision)
{
if(collision.gameObject.tag == "Cube" && !_collisionSet)
{
for(int i = collision.transform.childCount - 1; i >= 0; i--)
{
Transform child = collision.transform.GetChild(i);
child.gameObject.AddComponent<Rigidbody>();
child.GetComponent<Rigidbody>().AddExplosionForce(70f, Vector3.up, 5f);
child.SetParent(null);
}
restartButton.SetActive(true);
Camera.main.transform.position -= new Vector3(0, 0, 1.3f);
Camera.main.gameObject.AddComponent<CameraShake>();
GameObject newExplosion = Instantiate(explosion, new Vector3(collision.contacts[0].point.x, collision.contacts[0].point.y, collision.contacts[0].point.z), Quaternion.identity);
Destroy(newExplosion, 4f);
if (PlayerPrefs.GetString("music") != "No")
GetComponent<AudioSource>().Play();
Destroy(collision.gameObject);
_collisionSet = true;
}
}
}