Hei, can someone help me with this virtual button error? It shows like this:
Assets/ButtonEvent.cs(4,14): error CS0738: `ButtonEvent' does not implement interface member `IVirtualButtonEventHandler.OnButtonReleased(VirtualButtonAbstractBehaviour)' and the best implementing candidate `ButtonEvent.OnButtonPressed(VirtualButtonAbstractBehaviour)' return type `void' does not match interface member return type `void'
I only have that error on my project, what should i do to solve this?
Thanks
oh by the way this is my project script:
using UnityEngine;
using System.Collections;
public class ButtonEvent : MonoBehaviour, IVirtualButtonEventHandler{
public GameObject identitas;
public GameObject jadkul;
public GameObject jadprak;
void Start()
{
// Register with the virtual buttons TrackableBehaviour
VirtualButtonBehaviour[] vbs = GetComponentsInChildren<VirtualButtonBehaviour>();
for (int i = 0; i < vbs.Length; ++i)
{
vbs[i].RegisterEventHandler(this);
}
identitas = transform.FindChild("IDENTITAS").gameObject;
jadkul = transform.FindChild("JADWAL KULIAH").gameObject;
jadprak = transform.FindChild("JADWAL PRAKTIKUM").gameObject;
identitas.renderer.enabled = false;
}
// Called when the virtual button has just been pressed:
public void OnButtonPressed( VirtualButtonAbstractBehaviour vb ) {
Debug.Log("OnButtonPressed");
switch (vb.VirtualButtonName)
{
case "buttondata":
Display( identitas );
Hide( jadkul );
Hide( jadprak );
break;
case "buttonjadkul":
Display( jadkul );
Hide( identitas );
Hide( jadprak );
break;
case "buttonjadprak":
Display( jadprak );
Hide( identitas );
Hide( jadprak );
break;
}
}
void Display( GameObject obj){
Renderer[] rendererComponents = obj.GetComponentsInChildren<Renderer>();
// Enable rendering:
foreach (Renderer component in rendererComponents)
{
component.enabled = true;
}
}
void Hide( GameObject obj ){
Renderer[] rendererComponents = obj.GetComponentsInChildren<Renderer>();
// Disable rendering:
foreach (Renderer component in rendererComponents)
{
component.enabled = false;
}
}
}
I have 3 virtual buttons and 3 object. If the first button selected, the first object will show, if the second button selected, the first object will hide and the second will show
I have a similar issue. Kindly check into it. I am trying to generate two virtual button for an AR app.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Vuforia;
public class VirtualButtonEvent : MonoBehaviour, IVirtualButtonEventHandler
{
private GameObject bmh;
// register buttons for event handling
void Start()
{
VirtualButtonBehaviour[] vbs = GetComponentsInChildren<VirtualButtonBehaviour>();
for (int i = 0; i < vbs.Length; ++i) { vbs[i].RegisterEventHandler(this); }
bmh = transform.FindChild("bmh").gameObject;
}
// button is "pressed" so change color of bmh
public void OnButtonPressed(VirtualButtonAbstractBehaviour vb)
{
if (vb.VirtualButtonName == "Red") { bmh.renderer.material.color = Color.red; }
if (vb.VirtualButtonName == "Blue") { bmh.renderer.material.color = Color.blue; }
}
// change bmh back to white
public void OnButtonReleased(VirtualButtonAbstractBehaviour vb)
{
if (vb.VirtualButtonName == "Red") { bmh.renderer.material.color = Color.white; }
if (vb.VirtualButtonName == "Blue") { bmh.renderer.material.color = Color.white; }
}
}