45 lines
1.1 KiB
C#
45 lines
1.1 KiB
C#
|
using System.Collections;
|
||
|
using System.Collections.Generic;
|
||
|
using UnityEngine;
|
||
|
|
||
|
public class Bang : MonoBehaviour
|
||
|
{
|
||
|
|
||
|
|
||
|
|
||
|
// Start is called before the first frame update
|
||
|
void Start()
|
||
|
{
|
||
|
}
|
||
|
|
||
|
// Update is called once per frame
|
||
|
void Update()
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
public IEnumerator Banger(GameObject projectilePrefab,Transform t ,Transform dim, Vector2 shotSpeed, float colliderDisabledSeconds, float shotAliveSeconds)
|
||
|
{
|
||
|
|
||
|
|
||
|
// create projectile
|
||
|
GameObject projectile = Instantiate(projectilePrefab,
|
||
|
t.position,
|
||
|
t.rotation);
|
||
|
projectile.transform.SetParent(dim);
|
||
|
|
||
|
// add force to projectile
|
||
|
projectile.GetComponent<Rigidbody2D>().velocity = shotSpeed;
|
||
|
|
||
|
// wait until enabling collider
|
||
|
yield return new WaitForSeconds(colliderDisabledSeconds);
|
||
|
projectile.GetComponent<Collider2D>().enabled = true;
|
||
|
|
||
|
// wait given time before destroying
|
||
|
yield return new WaitForSeconds(shotAliveSeconds);
|
||
|
|
||
|
Destroy(projectile);
|
||
|
|
||
|
}
|
||
|
}
|