This repository has been archived on 2026-04-30. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
ludumdare41/Assets/Scripts/Respawner.cs
T

52 lines
1.1 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Respawner : MonoBehaviour {
public GameObject instance;
GameObject saved;
Vector3 startPos;
float timer = float.NegativeInfinity;
public float delay = 3f;
void Awake() {
//make a backup copy
saved = Instantiate (instance);
saved.SetActive (false);
startPos = instance.transform.position;
}
void FixedUpdate() {
//start the countdown
if (timer == float.NegativeInfinity && instance == null) {
timer = Time.time;
}
//stop the countdown
if (timer != float.NegativeInfinity && Time.time - timer >= delay) {
instance = Instantiate (saved);
instance.SetActive (true);
instance.transform.position = startPos;
timer = float.NegativeInfinity;
//what is it?
if (instance.GetComponent<Bomb>() != null) {
instance.GetComponent<Bomb> ().respawner = this;
}
if (instance.GetComponent<BlockIce>() != null) {
instance.GetComponent<BlockIce> ().respawner = this;
}
this.enabled = false;
}
}
void OnEnable() {
if (timer != float.NegativeInfinity) {
timer = Time.time;
}
}
}