using UnityEngine;
|
|
using System.Collections;
|
|
|
|
public class PlayerExplosion : MonoBehaviour {
|
|
|
|
public float explosionDistance;
|
|
public float explosionTime;
|
|
|
|
public int fraqAmount = 0;
|
|
|
|
// Use this for initialization
|
|
void Start () {
|
|
|
|
foreach (Transform child in transform)
|
|
{
|
|
fraqAmount++;
|
|
StartCoroutine (explosion (child));
|
|
}
|
|
|
|
}
|
|
|
|
// Update is called once per frame
|
|
void Update () {
|
|
|
|
}
|
|
|
|
IEnumerator explosion(Transform debris){
|
|
Vector3 centre = transform.position;
|
|
Vector3 scaleDirection = debris.position - centre;
|
|
Debug.Log ("Scale Direction" + scaleDirection);
|
|
|
|
for (float i = 0; i < 1; i += Time.deltaTime/explosionTime) {
|
|
debris.position =centre +( scaleDirection * Mathf.Lerp (1, explosionDistance, i));
|
|
|
|
yield return null;
|
|
}
|
|
|
|
fraqAmount--;
|
|
|
|
if (fraqAmount == 0) {
|
|
Destroy(gameObject,0.0f);
|
|
}
|
|
|
|
}
|
|
}
|