Files
UltimateFishing2020/Assets/Scripts/Assembly-CSharp/BresenhamLineDrawer.cs
2026-03-04 10:03:45 +08:00

76 lines
1.1 KiB
C#

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<RealWaterInterface>().DisturbBufferAt(num11, num12, (int)((float)baseForce * inputForce), ambient: false);
num8 += num9;
if (num8 >= num7)
{
num8 -= num7;
num11 += num3;
num12 += num5;
}
num11 += num4;
num12 += num6;
}
}
}