I have two script on same object for one OnEnable is called but for other. I have tried this on primitive Cube with same result.
For OnOverReaction onEnable is not called.
using UnityEngine;
using VRStandardAssets.Utils;
namespace VRStandardAssets.Examples
{
// This script shows a simple example of how
// swipe controls can be handled.
public class OnOverReaction : MonoBehaviour
{
[SerializeField] private VRInteractiveItem m_Item;
private void OnEnable()
{
m_Item.OnOver += HandleSwipe;
}
private void OnDisable()
{
m_Item.OnOver -= HandleSwipe;
}
private void HandleSwipe()
{
}
}
}
For UITint onEnable is called
using UnityEngine;
using UnityEngine.UI;
namespace VRStandardAssets.Utils
{
public class UITint : MonoBehaviour
{
[SerializeField] private Color m_Tint; // The colour to tint the Images.
[Range (0f, 1f)] [SerializeField] private float m_TintPercent = 0.5f; // How much the colour should be used.
[SerializeField] private Image[] m_ImagesToTint; // References to the images which will be tinted.
[SerializeField] private VRInteractiveItem m_InteractiveItem; // Reference to the VRInteractiveItem which must be looked at to tint the images.
private void OnEnable ()
{
m_InteractiveItem.OnOver += HandleOver;
m_InteractiveItem.OnOut += HandleOut;
}
private void OnDisable ()
{
m_InteractiveItem.OnOver -= HandleOver;
m_InteractiveItem.OnOut -= HandleOut;
}
private void HandleOver ()
{
// When the user looks at the VRInteractiveItem go through all the images...
for (int i = 0; i < m_ImagesToTint.Length; i++)
{
// and ADD to their colour by an amount based on the tint percentage. Note this will push the colour closer to white.
m_ImagesToTint<em>.color += m_Tint * m_TintPercent;</em>
}
}
private void HandleOut ()
{
// When the user looks away from the VRInteractiveItem go through all the images…
for (int i = 0; i < m_ImagesToTint.Length; i++)
{
// …and subtract the same amount.
m_ImagesToTint.color -= m_Tint * m_TintPercent;
}
}
}
}
What am I doing wrong here?