Public Interfaces¶
Method for pressing trigger (Use)¶

public interface IUseStartAware
{
//Controller interacting with object
//possible to receive link to gameObject of the controller
void OnUseStart(UsingContext context);
}
Method for releasing trigger¶
public interface IUseEndAware
{
void OnUseEnd();
}
Method for pressing Grip button (Start of dragging)¶

By calling this interface, we switch on dragging of an object.
public interface IGrabStartAware
{
//Controller interacting with object
//possible to receive link to gameObject of the controller
void OnGrabStart(GrabingContext context);
}
Method for releasing Grip button (End of dragging)¶
By calling this interface, we switch off dragging of an object.
public interface IGrabEndAware
{
void OnGrabEnd();
}
Object in hand position¶

Specify coordinates of the point where the controller will adhere to object when the object is grabbed.
public interface IGrabPointAware
{
//left controller
Transform GetLeftGrabPoint();
//right controller
Transform GetRightGrabPoint();
}
Method for controller entering object (Touching object with controller)¶

public interface ITouchStartAware
{
void OnTouchStart();
}
Method for controller exiting object (End of touch)¶
public interface ITouchEndAware
{
void OnTouchEnd();
}
Method for clicking on object with pointer¶

public interface IPointerClickAware
{
void OnPointerClick();
}
Method for controller pointer entering object area¶
public interface IPointerInAware
{
void OnPointerIn();
}
Method for controller pointer exiting object area¶
public interface IPointerOutAware
{
void OnPointerOut();
}
Subscription for mode switch (Edit, Preview, View)¶
public interface ISwitchModeSubscriber
{
//mode before - mode after
void OnSwitchMode(GameMode newMode, GameMode oldMode);
}