Guides

VRTK_BaseHighlighter

Overview

Provides a base that all highlighters can inherit from.

Script Usage:

This is an abstract class that is to be inherited to a concrete class that provides highlight functionality, therefore this script should not be directly used.

Inspector Parameters

  • Active: Determines if this highlighter is the active highlighter for the object the component is attached to. Only one active highlighter can be applied to a GameObject.
  • Unhighlight On Disable: Determines if the highlighted object should be unhighlighted when it is disabled.

Class Methods

Initialise/3

public abstract void Initialise(Color? color = null, GameObject affectObject = null, Dictionary<string, object> options = null);

  • Parameters
    • Color? color - An optional colour may be passed through at point of initialisation in case the highlighter requires it.
    • GameObject affectObject - An optional GameObject to specify which object to apply the highlighting to.
    • Dictionary<string, object> options - An optional dictionary of highlighter specific options that may be differ with highlighter implementations.
  • Returns
    • none

The Initalise method is used to set up the state of the highlighter.

ResetHighlighter/0

public abstract void ResetHighlighter();

  • Parameters
    • none
  • Returns
    • none

The ResetHighlighter method is used to reset the highlighter if anything on the object has changed. It should be called by any scripts changing object materials or colours.

Highlight/2

public abstract void Highlight(Color? color = null, float duration = 0f);

  • Parameters
    • Color? color - An optional colour to highlight the game object to. The highlight colour may already have been set in the Initialise method so may not be required here.
    • float duration - An optional duration of how long before the highlight has occured. It can be used by highlighters to fade the colour if possible.
  • Returns
    • none

The Highlight method is used to initiate the highlighting logic to apply to an object.

Unhighlight/2

public abstract void Unhighlight(Color? color = null, float duration = 0f);

  • Parameters
    • Color? color - An optional colour that could be used during the unhighlight phase. Usually will be left as null.
    • float duration - An optional duration of how long before the unhighlight has occured.
  • Returns
    • none

The Unhighlight method is used to initiate the logic that returns an object back to it's original appearance.

GetOption/2

public virtual T GetOption<T>(Dictionary<string, object> options, string key)

  • Type Params
    • T - The system type that is expected to be returned.
  • Parameters
    • Dictionary<string, object> options - The dictionary of options to check in.
    • string key - The identifier key to look for.
  • Returns
    • T - The value in the options at the given key returned in the provided system type.

The GetOption method is used to return a value from the options array if the given key exists.

UsesClonedObject/0

public virtual bool UsesClonedObject()

  • Parameters
    • none
  • Returns
    • bool - Returns true if the highlighter creates a cloned object to apply the highlighter on, returns false if no additional object is created.

The UsesClonedObject method is used to return whether the current highlighter creates a cloned object to do the highlighting with.

GetActiveHighlighter/1

public static VRTK_BaseHighlighter GetActiveHighlighter(GameObject obj)

  • Parameters
    • GameObject obj - The GameObject to check for a highlighter on.
  • Returns
    • VRTK_BaseHighlighter - A valid and active highlighter.

The GetActiveHighlighter method checks the given GameObject for a valid and active highlighter.