Beispiel #1
0
 internal Action OnHighlightEnded(KMHighlightable highlightable)
 {
     return(delegate()
     {
         highlightable.GetComponent <MeshRenderer>().enabled = false;
     });
 }
    public static GameObject GetInternalHighlightableObject(this KMHighlightable highlightable)
    {
        Component modHighlightable = highlightable.GetComponent(HighlightableType);

        if (modHighlightable != null)
        {
            return((GameObject)HighlightField.GetValue(modHighlightable));
        }

        return(null);
    }
    public static void EnsureModHighlightable(this KMSelectable selectable)
    {
        KMHighlightable highlightable = selectable.Highlight;

        if (highlightable != null)
        {
            ModHighlightable modHighlightable = highlightable.GetComponent <ModHighlightable>();
            if (modHighlightable == null)
            {
                highlightable.gameObject.AddComponent <ModHighlightable>();
            }
        }
    }
Beispiel #4
0
    private void EnsureInternalHighlightable()
    {
        //This is required magic to get the game-side highlightable to recognise the dynamically-generated mesh.
        //Super clunky with the find-by-name stuff, but it works.
        KMHighlightable highlight         = fluidSelectable.selectable.Highlight;
        Transform       internalHighlight = highlight.transform.FindChild("Highlight(Clone)");

        if (internalHighlight != null)
        {
            MeshFilter modHighlightMeshFilter      = highlight.GetComponent <MeshFilter>();
            MeshFilter internalHighlightMeshFilter = internalHighlight.GetComponent <MeshFilter>();
            internalHighlightMeshFilter.mesh = modHighlightMeshFilter.mesh;
        }
    }
Beispiel #5
0
 public static GameObject GetInternalHighlightableObject(this KMHighlightable highlightable)
 {
     return((GameObject)HighlightField.GetValue(highlightable.GetComponent(HighlightableType)));
 }