Public Interfaces

Method for pressing trigger (Use)

../_images/image59.png
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)

../_images/image217.png

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

../_images/image310.png

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)

../_images/image125.png
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

../_images/image48.png
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);
}