/// <summary> /// 开启高光,使用指定发光颜色 /// </summary> /// <param name="target">目标物体</param> /// <param name="color">发光颜色</param> public static void OpenHighLight(this GameObject target, Color color) { HighlightableObject ho = target.GetComponent <HighlightableObject>(); if (ho == null) { ho = target.AddComponent <HighlightableObject>(); } ho.ConstantOnImmediate(color); }
/// <summary> /// 开启闪光,使用指定频率 /// </summary> /// <param name="target">目标物体</param> /// <param name="color1">颜色1</param> /// <param name="color2">颜色2</param> /// <param name="freq">频率</param> public static void OpenFlashHighLight(this GameObject target, Color color1, Color color2, float freq) { HighlightableObject ho = target.GetComponent <HighlightableObject>(); if (ho == null) { ho = target.AddComponent <HighlightableObject>(); } ho.FlashingOn(color1, color2, freq); }
/// <summary> /// 开启闪光,使用默认颜色和频率 /// </summary> /// <param name="target">目标物体</param> public static void OpenFlashHighLight(this GameObject target) { HighlightableObject ho = target.GetComponent <HighlightableObject>(); if (ho == null) { ho = target.AddComponent <HighlightableObject>(); } ho.FlashingOn(Color.red, Color.white, 2); }
/// <summary> /// 关闭闪光 /// </summary> /// <param name="target">目标物体</param> /// <param name="die">是否销毁高光实例</param> public static void CloseFlashHighLight(this GameObject target, bool die) { HighlightableObject ho = target.GetComponent <HighlightableObject>(); if (ho == null) { return; } ho.FlashingOff(); if (die) { ho.Die(); } }
/// <summary> /// 开启高亮一次,使用指定发光颜色 /// </summary> /// <param name="target">目标物体</param> /// <param name="color">发光颜色</param> public static void OpenOnceHighLight(this GameObject target, Color color) { if (!Main.m_Controller.EnableHighlightingEffect) { return; } target.ClearHighLightInChildren(); HighlightableObject ho = target.GetComponent <HighlightableObject>(); if (ho == null) { ho = target.AddComponent <HighlightableObject>(); } ho.OpenOnce(color); }
/// <summary> /// 开启高光,使用指定发光颜色 /// </summary> /// <param name="target">目标物体</param> /// <param name="color">发光颜色</param> public static void OpenHighLight(this GameObject target, Color color) { HOS.Clear(); target.transform.GetComponentsInChildren(true, HOS); for (int i = 0; i < HOS.Count; i++) { HOS[i].ConstantOff(); HOS[i].Die(); } HighlightableObject ho = target.GetComponent <HighlightableObject>(); if (ho == null) { ho = target.AddComponent <HighlightableObject>(); } ho.ConstantOnImmediate(color); }
/// <summary> /// 开启闪光,使用指定频率 /// </summary> /// <param name="target">目标物体</param> /// <param name="color1">颜色1</param> /// <param name="color2">颜色2</param> /// <param name="freq">频率</param> public static void OpenFlashHighLight(this GameObject target, Color color1, Color color2, float freq) { HOS.Clear(); target.transform.GetComponentsInChildren(true, HOS); for (int i = 0; i < HOS.Count; i++) { HOS[i].FlashingOff(); HOS[i].Die(); } HighlightableObject ho = target.GetComponent <HighlightableObject>(); if (ho == null) { ho = target.AddComponent <HighlightableObject>(); } ho.FlashingOn(color1, color2, freq); }
/// <summary> /// 关闭遮光板 /// </summary> /// <param name="target">目标物体</param> /// <param name="die">是否销毁高光实例</param> public static void CloseOccluder(this GameObject target, bool die = false) { HighlightableObject ho = target.GetComponent <HighlightableObject>(); if (ho == null) { return; } if (OccluderHOs.Contains(ho)) { OccluderHOs.Remove(ho); } ho.CloseOccluder(); if (die) { ho.Die(); } }
/// <summary> /// 关闭闪光 /// </summary> /// <param name="target">目标物体</param> /// <param name="die">是否销毁高光实例</param> public static void CloseFlashHighLight(this GameObject target, bool die = false) { HighlightableObject ho = target.GetComponent <HighlightableObject>(); if (ho == null) { return; } if (FlashHOs.Contains(ho)) { FlashHOs.Remove(ho); } ho.CloseFlashing(); if (die) { ho.Die(); } }
/// <summary> /// 关闭持续高光 /// </summary> /// <param name="target">目标物体</param> /// <param name="die">是否销毁高光实例</param> public static void CloseHighLight(this GameObject target, bool die = false) { if (target == null) { return; } HighlightableObject ho = target.GetComponent <HighlightableObject>(); if (ho == null) { return; } HOs.Remove(ho); ho.CloseConstant(); if (die) { ho.Die(); } }
/// <summary> /// 开启持续高光,使用指定发光颜色 /// </summary> /// <param name="target">目标物体</param> /// <param name="color">发光颜色</param> /// <param name="isImmediate">是否立即模式</param> public static void OpenHighLight(this GameObject target, Color color, bool isImmediate = true) { if (target == null) { return; } if (!Main.m_Controller.EnableHighlightingEffect) { return; } HighlightableObject ho = target.GetComponent <HighlightableObject>(); if (ho == null) { ho = target.AddComponent <HighlightableObject>(); } if (HOs.Contains(ho)) { return; } HOs.Add(ho); target.ClearHighLightInChildren(); target.ClearHighLightInParent(); if (isImmediate) { ho.OpenConstantImmediate(color); } else { ho.OpenConstant(color); } }
/// <summary> /// 开启遮光板 /// </summary> /// <param name="target">目标物体</param> public static void OpenOccluder(this GameObject target) { if (!Main.m_Controller.EnableHighlightingEffect) { return; } target.ClearHighLightInChildren(); HighlightableObject ho = target.GetComponent <HighlightableObject>(); if (ho == null) { ho = target.AddComponent <HighlightableObject>(); } if (!OccluderHOs.Contains(ho)) { OccluderHOs.Add(ho); } ho.OpenOccluder(); }
/// <summary> /// 开启闪光,使用指定频率 /// </summary> /// <param name="target">目标物体</param> /// <param name="color1">颜色1</param> /// <param name="color2">颜色2</param> /// <param name="freq">频率</param> public static void OpenFlashHighLight(this GameObject target, Color color1, Color color2, float freq) { if (!Main.m_Controller.EnableHighlightingEffect) { return; } target.ClearHighLightInChildren(); HighlightableObject ho = target.GetComponent <HighlightableObject>(); if (ho == null) { ho = target.AddComponent <HighlightableObject>(); } if (!FlashHOs.Contains(ho)) { FlashHOs.Add(ho); } ho.OpenFlashing(color1, color2, freq); }