void CheckOneWay() { if (!enableOneWayPlatforms || velocityDirection.y < 0) { return; } Collider2D[] cols; cols = oneWayDetectZone.DetectColliders(transform); if (cols.Length > 0 && !ignoringLayers) { StartCoroutine(StartIgnoreLayers()); } }
void Attack() { cols = detectZone.DetectColliders(transform); if (cols.Length > 0) { for (int i = 0; i < Data.unitAmount; i++) { if (!damagedCols.Contains(cols[i])) { Vector2 dir = Data.direction; if (Data.bounceType == ItemWeaponMeleeData.BounceType.ClosetPoints) { dir = (cols[i].bounds.center - detectZone.offset).normalized; } else if (Data.bounceType == ItemWeaponMeleeData.BounceType.XOnly) { if (curUnitOwner.transform.position.x < cols[i].transform.position.x) { dir = Vector2.right; } else { dir = Vector2.left; } } var u = cols[i].GetComponent <Unit>(); if (u) { DamageUnit(u, dir); damagedCols.Add(cols[i]); } } } } }
void DoDetection() { cols = detectZone.DetectColliders(transform).ToList(); }