Initial Commit
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class SpawnCometsScript : MonoBehaviour {
|
||||
|
||||
public GameObject comet;
|
||||
public GameObject startPoint;
|
||||
public GameObject endPoint;
|
||||
public float delay;
|
||||
public float rateOfFire;
|
||||
public float radius;
|
||||
public float quantity;
|
||||
public float waves;
|
||||
|
||||
void Start () {
|
||||
StartCoroutine (SpawnVFX(comet, delay, rateOfFire));
|
||||
}
|
||||
|
||||
IEnumerator SpawnVFX (GameObject vfx, float delay, float rateDelay){
|
||||
for (int j = 0; j < waves; j++) {
|
||||
yield return new WaitForSeconds (delay);
|
||||
for (int i = 0; i < quantity; i++) {
|
||||
var startPos = startPoint.transform.position;
|
||||
if(radius != 0)
|
||||
startPos = new Vector3 (startPoint.transform.position.x + Random.Range (-radius, radius), startPoint.transform.position.y + Random.Range (-radius, radius), startPoint.transform.position.z + Random.Range (-radius, radius));
|
||||
GameObject objVFX = Instantiate (vfx, startPos, Quaternion.identity) as GameObject;
|
||||
|
||||
var endPos = endPoint.transform.position;
|
||||
if(radius != 0)
|
||||
endPos = new Vector3 (endPoint.transform.position.x + Random.Range (-radius, radius), endPoint.transform.position.y + Random.Range (-radius, radius), endPoint.transform.position.z + Random.Range (-radius, radius));
|
||||
RotateTo (objVFX, endPos);
|
||||
|
||||
yield return new WaitForSeconds (rateDelay);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void RotateTo (GameObject obj, Vector3 destination ) {
|
||||
var direction = destination - obj.transform.position;
|
||||
var rotation = Quaternion.LookRotation (direction);
|
||||
obj.transform.localRotation = Quaternion.Lerp (obj.transform.rotation, rotation, 1);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user