// Token: 0x060017D5 RID: 6101 RVA: 0x000674CC File Offset: 0x000656CC public bool Fire(List <HealthComponent> hitResults = null) { if (!this.hitBoxGroup) { return(false); } HitBox[] hitBoxes = this.hitBoxGroup.hitBoxes; for (int i = 0; i < hitBoxes.Length; i++) { Transform transform = hitBoxes[i].transform; Vector3 position = transform.position; Vector3 vector = transform.lossyScale * 0.5f; Quaternion rotation = transform.rotation; if (float.IsInfinity(vector.x) || float.IsInfinity(vector.y) || float.IsInfinity(vector.z)) { Chat.AddMessage("Aborting OverlapAttack.Fire: hitBoxHalfExtents are infinite."); } else if (float.IsNaN(vector.x) || float.IsNaN(vector.y) || float.IsNaN(vector.z)) { Chat.AddMessage("Aborting OverlapAttack.Fire: hitBoxHalfExtents are NaN."); } else if (float.IsInfinity(position.x) || float.IsInfinity(position.y) || float.IsInfinity(position.z)) { Chat.AddMessage("Aborting OverlapAttack.Fire: hitBoxCenter is infinite."); } else if (float.IsNaN(position.x) || float.IsNaN(position.y) || float.IsNaN(position.z)) { Chat.AddMessage("Aborting OverlapAttack.Fire: hitBoxCenter is NaN."); } else if (float.IsInfinity(rotation.x) || float.IsInfinity(rotation.y) || float.IsInfinity(rotation.z) || float.IsInfinity(rotation.w)) { Chat.AddMessage("Aborting OverlapAttack.Fire: hitBoxRotation is infinite."); } else if (float.IsNaN(rotation.x) || float.IsNaN(rotation.y) || float.IsNaN(rotation.z) || float.IsNaN(rotation.w)) { Chat.AddMessage("Aborting OverlapAttack.Fire: hitBoxRotation is NaN."); } else { Collider[] array = Physics.OverlapBox(position, vector, rotation, LayerIndex.entityPrecise.mask); int num = array.Length; int num2 = 0; for (int j = 0; j < num; j++) { HurtBox component = array[j].GetComponent <HurtBox>(); if (component && this.HurtBoxPassesFilter(component)) { Vector3 position2 = component.transform.position; this.overlapList.Add(new OverlapAttack.OverlapInfo { hurtBox = component, hitPosition = position2, pushDirection = (position2 - position).normalized }); this.ignoredHealthComponentList.Add(component.healthComponent); if (hitResults != null) { hitResults.Add(component.healthComponent); } num2++; } if (num2 >= this.maximumOverlapTargets) { break; } } } } this.ProcessHits(this.overlapList); bool result = this.overlapList.Count > 0; this.overlapList.Clear(); return(result); }
private static void CCSteamLobbyCopyToClipboard(ConCommandArgs args) { ConCommandException.CheckSteamworks(); GUIUtility.systemCopyBuffer = TextSerialization.ToStringInvariant(SteamworksLobbyManager.client.Lobby.CurrentLobby); Chat.AddMessage(Language.GetString("STEAM_COPY_LOBBY_TO_CLIPBOARD_MESSAGE")); }