53 lines
1.6 KiB
C#
53 lines
1.6 KiB
C#
using System.Collections;
|
|
using UnityEngine;
|
|
using UnityEngine.Serialization;
|
|
|
|
|
|
/*
|
|
WICHTIG
|
|
Für dieses Script muss ein Object namens "RespawnProjectile" vorhanden sein an dem man wieder spawnt
|
|
Collider Disabled Seconds muss so gesetzt werden das das Projectil aus der Quelle rauskommt ohne zerstört zu werden
|
|
*/
|
|
|
|
public class KitchenGunBossMod : MonoBehaviour
|
|
{
|
|
|
|
private Bang bullet;
|
|
private IEnumerator coroutine;
|
|
// The shot projectiles
|
|
public GameObject projectilePrefab;
|
|
// Time between shots, game needs to be restarted to take effect
|
|
public float shotIntervalSeconds = 1f;
|
|
// Time alive for the projectiles or until they hit something
|
|
public float shotAliveSeconds = 1f;
|
|
// Time until collider gets enabled
|
|
public float colliderDisabledSeconds = .2f;
|
|
// Speed of projectiles
|
|
public Vector2 shotSpeed = new Vector2(1f, 0f);
|
|
// Smallest step size for shot speed
|
|
private short shotSpeedStepSize = 50;
|
|
[SerializeField] private bool dim1;
|
|
private Transform dim;
|
|
|
|
// Start is called before the first frame update
|
|
void Start()
|
|
{
|
|
if(dim1){dim=GameObject.Find("Dim1").transform;} else {dim=GameObject.Find("Dim2").transform;}
|
|
bullet = GameObject.Find("DimAll").GetComponent<Bang>();
|
|
InvokeRepeating("RecurringBang",0f,shotIntervalSeconds);
|
|
}
|
|
|
|
// Update is called once per frame
|
|
void Update()
|
|
{
|
|
|
|
}
|
|
|
|
void RecurringBang()
|
|
{
|
|
coroutine = bullet.Banger(projectilePrefab, transform, dim, shotSpeed, colliderDisabledSeconds, shotAliveSeconds);
|
|
StartCoroutine(coroutine);
|
|
}
|
|
|
|
}
|