Good evening, currently finishing up an assignment that is almost due and I can't seem to understand as to why this code isn't being assigned. An error that Unity keeps showing me is that the script has to be derived from MonoBehaviour. I have looked up tutorials and threads and I still can't seem to find what is my issue. Below is a copy of my code currently. Assistance is greatly appreciated!!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Track01Track : MonoBehaviour {
public GameObject TheMarker;
public GameObject Mark01;
public GameObject Mark02;
public GameObject Mark03;
public GameObject Mark04;
public GameObject Mark05;
public GameObject Mark06;
public GameObject Mark07;
public GameObject Mark08;
public GameObject Mark09;
public GameObject Mark10;
public GameObject Mark11;
public GameObject Mark12;
public GameObject Mark13;
public GameObject Mark14;
public GameObject Mark15;
public GameObject Mark16;
public GameObject Mark17;
public GameObject Mark18;
public GameObject Mark19;
public GameObject Mark20;
public GameObject Mark21;
public GameObject Mark22;
public GameObject MarkTracker;
void Start ()
{
}
void Update () {
if (MarkTracker == 0)
{
TheMarker.transform.position = Mark01.transform.position;
}
if (MarkTracker == 1)
{
TheMarker.transform.position = Mark02.transform.position;
}
if (MarkTracker == 2)
{
TheMarker.transform.position = Mark03.transform.position;
}
if (MarkTracker == 3)
{
TheMarker.transform.position = Mark04.transform.position;
}
if (MarkTracker == 4)
{
TheMarker.transform.position = Mark05.transform.position;
}
if (MarkTracker == 5)
{
TheMarker.transform.position = Mark06.transform.position;
}
if (MarkTracker == 6)
{
TheMarker.transform.position = Mark07.transform.position;
}
if (MarkTracker == 7)
{
TheMarker.transform.position = Mark08.transform.position;
}
if (MarkTracker == 8)
{
TheMarker.transform.position = Mark09.transform.position;
}
if (MarkTracker == 9)
{
TheMarker.transform.position = Mark10.transform.position;
}
if (MarkTracker == 10)
{
TheMarker.transform.position = Mark11.transform.position;
}
if (MarkTracker == 11)
{
TheMarker.transform.position = Mark12.transform.position;
}
if (MarkTracker == 12)
{
TheMarker.transform.position = Mark13.transform.position;
}
if (MarkTracker == 13)
{
TheMarker.transform.position = Mark14.transform.position;
}
if (MarkTracker == 14)
{
TheMarker.transform.position = Mark15.transform.position;
}
if (MarkTracker == 15)
{
TheMarker.transform.position = Mark16.transform.position;
}
if (MarkTracker == 16)
{
TheMarker.transform.position = Mark17.transform.position;
}
if (MarkTracker == 17)
{
TheMarker.transform.position = Mark18.transform.position;
}
if (MarkTracker == 18)
{
TheMarker.transform.position = Mark19.transform.position;
}
if (MarkTracker == 19)
{
TheMarker.transform.position = Mark20.transform.position;
}
if (MarkTracker == 20)
{
TheMarker.transform.position = Mark21.transform.position;
}
if (MarkTracker == 21)
{
TheMarker.transform.position = Mark22.transform.position;
}
}
IEnumerator OnTriggerEnter(Collider collision)
{
if (collision.gameObject.tag == "Track01")
{
this.GetComponent<BoxCollider>().enabled = false;
MarkTracker += 1;
if (MarkTracker == 22)
{
MarkTracker = 0;
}
yield return new WaitForSeconds(1);
this.GetComponent<BoxCollider>().enabled = true;
}
}
}
This is the error:
Can't add script behaviour CallbackExecutor. The script needs to derive from MonoBehaviour.