using UnityEngine; public class BresenhamLineDrawer { private int baseForce = 18000000; public void DrawLine(int x1, int x2, int y1, int y2, RaycastHit hit, float inputForce) { int num = x2 - x1; int num2 = y2 - y1; int num3; int num4; if (num >= 0) { num3 = 1; num4 = 1; } else { num3 = -1; num4 = -1; } int num5; int num6; if (num2 >= 0) { num5 = 1; num6 = 1; } else { num5 = -1; num6 = -1; } num = Mathf.Abs(num); num2 = Mathf.Abs(num2); int num7; int num8; int num9; int num10; if (num >= num2) { num3 = 0; num6 = 0; num7 = num; num8 = num / 2; num9 = num2; num10 = num; } else { num4 = 0; num5 = 0; num7 = num2; num8 = num2 / 2; num9 = num; num10 = num2; } int num11 = x1; int num12 = y1; for (int i = 0; i <= num10; i++) { hit.collider.gameObject.GetComponent().DisturbBufferAt(num11, num12, (int)((float)baseForce * inputForce), ambient: false); num8 += num9; if (num8 >= num7) { num8 -= num7; num11 += num3; num12 += num5; } num11 += num4; num12 += num6; } } }