using UnityEngine; public class DestructibleBlock : Entity { [SerializeField] private GameObject[] debrisPrefabs; [SerializeField] private int debrisCount = 5; [SerializeField] private float explosionForce = 5f; public override void TakeDamage(int damage) { base.TakeDamage(damage); } private void OnDestroy() { SpawnDebris(); } private void SpawnDebris() { for (int i = 0; i < debrisCount; i++) { GameObject prefab = debrisPrefabs[Random.Range(0, debrisPrefabs.Length)]; Vector2 randomPos = (Vector2)transform.position + Random.insideUnitCircle * 0.5f; GameObject debris = Instantiate(prefab, randomPos, Quaternion.identity); Rigidbody2D rb = debris.GetComponent(); if (rb != null) { Vector2 dir = (randomPos - (Vector2)transform.position).normalized; dir += Random.insideUnitCircle * 0.5f; rb.AddForce(dir.normalized * explosionForce, ForceMode2D.Impulse); } Destroy(debris, 2f); } } }