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>(); } } }
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; } }
public static GameObject GetInternalHighlightableObject(this KMHighlightable highlightable) { return((GameObject)HighlightField.GetValue(highlightable.GetComponent(HighlightableType))); }