/// <summary> /// 攻击范围 光效完整环 /// </summary> /// <param name="isShow">是否显示</param> /// <param name="radius">攻击半径</param> public void ShowAttackRange(bool isShow, int radius = 1) { if (isShow) { if (AttackRangeInCircle01 == null && AttackRangeInCircle02 == null) { AttackRangeInCircle01 = GameObjectLoader.LoadPath("effect/prefab/", "2000661_01", m_thisT); Vector3 pos = AttackRangeInCircle01.transform.position; AttackRangeInCircle01.transform.position = U3DUtil.AddX(pos, 1.5f); pos = AttackRangeInCircle01.transform.position; AttackRangeInCircle01.transform.position = U3DUtil.AddY(pos, 1.5f); AttackRangeInCircle01.transform.Rotate(0, -180f, 0); GameObjectActionExcute gae = AttackRangeInCircle01.AddComponent <GameObjectActionExcute>(); GameObjectActionWait wait = new GameObjectActionWait(1f, ShowInLoop01); GameObjectActionDelayDestory fade = new GameObjectActionDelayDestory(1.0f); gae.AddAction(wait); gae.AddAction(fade); } if (AttackRangeOutCircle01 == null && AttackRangeOutCircle02 == null) { AttackRangeOutCircle01 = GameObjectLoader.LoadPath("effect/prefab/", "2000671_01", m_thisT); Vector3 pos = AttackRangeOutCircle01.transform.position; AttackRangeOutCircle01.transform.position = U3DUtil.AddX(pos, 1.5f); pos = AttackRangeOutCircle01.transform.position; AttackRangeOutCircle01.transform.position = U3DUtil.AddY(pos, 1.5f); AttackRangeOutCircle01.transform.Rotate(0, -180f, 0); GameObjectActionExcute gae = AttackRangeOutCircle01.AddComponent <GameObjectActionExcute>(); GameObjectActionWait wait = new GameObjectActionWait(1.0f, ShowInLoop02); GameObjectActionDelayDestory fade = new GameObjectActionDelayDestory(1.0f); gae.AddAction(wait); gae.AddAction(fade); } } else { U3DUtil.Destroy(AttackRangeInCircle01); U3DUtil.Destroy(AttackRangeInCircle02); U3DUtil.Destroy(AttackRangeOutCircle01); U3DUtil.Destroy(AttackRangeOutCircle02); } }