private void UpdateHighlightModes() { bool oldHighlightColors = highlightColors; highlightColors = ((Mode & HighlightTypes.Color) != 0); if ((oldHighlightColors == false) && (highlightColors == true)) { MyColorTransition = GetComponent <ColorTransition>(); } highlightOutline = ((Mode & HighlightTypes.Outline) != 0); if (!highlightOutline) { if (myOutlineTarget) { OutlineTarget.Remove(gameObject); } } }
/// <summary> /// removes an outline target component from an object /// </summary> /// <param name="go">game object from which the outline target will be removed</param> /// <param name="destroy">if true, the component will be destroyed, else it will be just disabled</param> public static void Remove(GameObject go, bool destroy = false) { if (go != null) { OutlineTarget target = go.GetComponent <OutlineTarget>(); if (target) { if (destroy) { UnityEngine.Object.Destroy(target); } else { target.enabled = false; } } } }
/// <summary> /// adds outline target to a game object /// </summary> /// <param name="go">game object to which new outline target will be added</param> /// <param name="hidden">if true, the component will not be visible in editor</param> /// <returns>new outline target component</returns> public static OutlineTarget Add(GameObject go, bool hidden = false) { OutlineTarget target = null; if (go == null) { return(target); } target = go.GetComponent <OutlineTarget>(); if (!target) { target = go.AddComponent <OutlineTarget>(); if (hidden) { target.hideFlags = HideFlags.HideInInspector; } } target.enabled = true; return(target); }
private void DeHighlightOutline() { OutlineTarget.Remove(gameObject); StopTransition(); }
private void HighlightOutline() { myOutlineTarget = OutlineTarget.Add(gameObject); ClampOutlineThicknessCurve(); StartTransition(highlightColors); }
public OutlineTargetListKey(OutlineTarget target, bool useOldMode = false, bool useOldThickness = false) { Mode = useOldMode ? target.OldMode : target.Mode; Thickness = useOldThickness ? target.OldThickness : target.Thickness; }