GotNoPockets / MayhemJamGameThingy / Assets / Scripts / CrusherTrigger.cs
CrusherTrigger.cs
Raw
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CrusherTrigger : MonoBehaviour
{
	public enum TriggerCol
	{
		Purple,
		Green,
		Orange,
		Brown,
		Player,
	};


	public TriggerCol ThisTrigger;
	public Material GreenMat;
	public Material RedMat;
	public bool HasTriggered;
	private AudioManager Audio;

	private void Start()
	{
		Audio = FindObjectOfType<AudioManager>();
	}

	private void OnTriggerEnter(Collider other)
	{
		switch (ThisTrigger)
		{
			case TriggerCol.Purple:
				if (other.gameObject.name == "PurpleBox")
				{
					Audio.PlayClip("Button_Click", 1, 1);
					HasTriggered = true;
					GetComponent<Renderer>().material = GreenMat;
				}
				else
				{
					Audio.PlayClip("Button_Click", 1, 1);
				}
				break;
			case TriggerCol.Green:
				if (other.gameObject.name == "GreenBox")
				{
					Audio.PlayClip("Button_Click", 1, 1);
					HasTriggered = true;
					GetComponent<Renderer>().material = GreenMat;
				}
				else
				{
					Audio.PlayClip("Button_Click", 1, 1);
				}
				break;
			case TriggerCol.Orange:
				if (other.gameObject.name == "OrangeBox")
				{
					Audio.PlayClip("Button_Click", 1, 1);
					HasTriggered = true;
					GetComponent<Renderer>().material = GreenMat;
				}
				else
				{
					Audio.PlayClip("Button_Click", 1, 1);
				}
				break;
			case TriggerCol.Brown:
				if (other.gameObject.name == "BrownBox")
				{
					Audio.PlayClip("Button_Click", 1, 1);
					HasTriggered = true;
					GetComponent<Renderer>().material = GreenMat;
				}
				else
				{
					Audio.PlayClip("Button_Click", 1, 1);
				}
				break;
			case TriggerCol.Player:
				if (other.gameObject.name == "Player")
				{
					Audio.PlayClip("Button_Click", 1, 1);
					HasTriggered = true;
					GetComponent<Renderer>().material = GreenMat;
				}
				else
				{
					Audio.PlayClip("Button_Click", 1, 1);
				}
				break;
			default:
				break;
		}
	}

	private void OnTriggerExit(Collider other)
	{
		HasTriggered = false;
		GetComponent<Renderer>().material = RedMat;
	}
}