Assignment for RMIT Mixed Reality in 2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

36 lines
1020 B

namespace VRTK.UnityEventHelper
{
using UnityEngine;
public abstract class VRTK_UnityEvents<T> : MonoBehaviour where T : Component
{
private T component;
protected abstract void AddListeners(T component);
protected abstract void RemoveListeners(T component);
protected virtual void OnEnable()
{
component = GetComponent<T>();
if (component != null)
{
AddListeners(component);
}
else
{
string eventsScriptName = GetType().Name;
string scriptName = component.GetType().Name;
VRTK_Logger.Error(string.Format("The {0} script requires to be attached to a GameObject that contains a {1} script.", eventsScriptName, scriptName));
}
}
protected virtual void OnDisable()
{
if (component != null)
{
RemoveListeners(component);
}
}
}
}