2using System.Collections.Generic;
16 public static List<Cell>
newPoints =
new List<Cell>();
36 public Dictionary<int, byte>
lastPoints =
new Dictionary<int, byte>();
64 if (num >= (
float)
range)
75 power *= (float)(
range + 1) - num;
98 foreach (KeyValuePair<int, byte> lastPoint
in lastPoints)
101 byte value = lastPoint.Value;
103 cell.lightR -= (ushort)(value *
r / 2);
104 cell.lightG -= (ushort)(value *
g / 2);
105 cell.lightB -= (ushort)(value *
b / 2);
116 List<Point> list =
new List<Point>();
117 foreach (KeyValuePair<int, byte> lastPoint
in lastPoints)
119 list.Add(
new Point(lastPoint.Key));
126 return Mathf.Sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
131 return Mathf.Sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
134 public static int Distance(
int x1,
int y1,
int x2,
int y2)
136 return (
int)Mathf.Sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
139 public void Perform(
int _x,
int _z,
int _range,
float power = 1f)
151 int num = origin.X -
range;
156 int num2 = origin.Y -
range;
161 int num3 = origin.X +
range + 1;
166 int num4 = origin.Y +
range + 1;
171 for (
int i = num; i < num3; i++)
176 for (
int j = num2 + 1; j < num4 - 1; j++)
183 int max = EClass._map.Size - 1;
184 int x = (origin.X + 4).ClampMax(max);
185 int y = (origin.Y + 1).ClampMax(max);
186 int x2 = (origin.X - 4).ClampMin(0);
187 int y2 = (origin.Y - 1).ClampMin(0);
188 int x3 = (origin.X + 1).ClampMax(max);
189 int y3 = (origin.Y + 4).ClampMax(max);
190 int x4 = (origin.X - 1).ClampMin(0);
191 int y4 = (origin.Y - 4).ClampMin(0);
201 foreach (KeyValuePair<int, byte> lastPoint
in lastPoints)
204 byte value = lastPoint.Value;
206 cell.lightR += (ushort)(value *
r / 2);
207 cell.lightG += (ushort)(value *
g / 2);
208 cell.lightB += (ushort)(value *
b / 2);
225 int num = Math.Abs(value);
226 int num2 = Math.Abs(value2);
227 int num3 = Math.Sign(value);
228 int num4 = Math.Sign(value2) << 16;
229 int num5 = (origin.Y << 16) +
origin.
X;
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
static List< Cell > newPoints
void SetVisible(int x, int y)
float GetVisDistance(int x1, int y1, int x2, int y2)
static float nonGradientMod
List< Point > ListPoints()
static float DistanceFloat(int x1, int y1, int x2, int y2)
static int Distance(int x1, int y1, int x2, int y2)
Dictionary< int, byte > lastPoints
void TraceLine(int x2, int y2)
void Perform(int _x, int _z, int _range, float power=1f)
void SetSeen(int x, int z, bool seen=true, bool refresh=true)
SceneGlobalProfile global