Files
FebGameJam/Assets/Scripts/EndTrigger.cs
T
Unknown dcc8607ae4 Remember to Like, Comment, and Subscribe
this has the dark finish level in it that can be used 👍
2022-02-27 00:07:10 -06:00

88 lines
2.1 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//to implement inheritance
public abstract class EndTrigger : MonoBehaviour
{
//tags for the trigger
public bool forceInteract;
public bool repeatable;
bool isActive;
//only worry about this if it is not repeatable
bool hasOccurred;
public int value;
// Start is called before the first frame update
void Start()
{
hasOccurred = false;
}
//checks if player is in range of the trigger
private void OnTriggerStay2D(Collider2D other)
{
if (other.CompareTag("Player"))
{
//Debug.Log("entered");
isActive = true;
}
// else {
// isActive = false;
// Debug.Log("exit");
// if(forceInteract && repeatable) {
// hasOccurred = false;
// }
// }
}
private void OnTriggerExit2D(Collider2D other)
{
if (other.CompareTag("Player"))
{
isActive = false;
//Debug.Log("exit");
}
if (forceInteract && repeatable)
{
hasOccurred = false;
}
}
// Update is called once per frame
public void Update()
{
// Debug.Log("testr");
//checks if conditions are right
if (isActive && !hasOccurred)
{
//executes action upon entering
if (forceInteract)
{
Action();
hasOccurred = true;
if (!repeatable)
{
isActive = false;
}
}
//only executes action if input is pressed
else
{
if (Input.GetKeyDown(KeyCode.E))
{
Debug.Log("action");
Action();
if (!repeatable)
{
hasOccurred = true;
}
}
}
}
}
public abstract void Action();
}