Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
ShapeData.cs
Go to the documentation of this file.
1using System;
3using System.Linq;
6
8
9public class ShapeData
10{
12
13 public int Count => _points.Count;
14
15 public ShapeData()
16 {
18 }
19
21 {
22 _points = new HashSet<Point16>(original._points);
23 }
24
25 public void Add(int x, int y)
26 {
27 _points.Add(new Point16(x, y));
28 }
29
30 public void Remove(int x, int y)
31 {
32 _points.Remove(new Point16(x, y));
33 }
34
36 {
37 return _points;
38 }
39
40 public void Clear()
41 {
42 _points.Clear();
43 }
44
45 public bool Contains(int x, int y)
46 {
47 return _points.Contains(new Point16(x, y));
48 }
49
51 {
52 foreach (Point16 datum in shapeData.GetData())
53 {
55 }
56 }
57
59 {
60 foreach (Point16 datum in shapeData.GetData())
61 {
63 }
64 }
65
67 {
68 int num = shapes[0]._points.First().X;
69 int num2 = num;
70 int num3 = shapes[0]._points.First().Y;
71 int num4 = num3;
72 for (int i = 0; i < shapes.Length; i++)
73 {
74 foreach (Point16 point in shapes[i]._points)
75 {
76 num = Math.Max(num, point.X);
77 num2 = Math.Min(num2, point.X);
78 num3 = Math.Max(num3, point.Y);
79 num4 = Math.Min(num4, point.Y);
80 }
81 }
82 return new Rectangle(num2 + origin.X, num4 + origin.Y, num - num2, num3 - num4);
83 }
84}
void ICollection< T >. Add(T item)
Definition HashSet.cs:225
static byte Min(byte val1, byte val2)
Definition Math.cs:912
static byte Max(byte val1, byte val2)
Definition Math.cs:738
HashSet< Point16 > GetData()
Definition ShapeData.cs:35
void Remove(int x, int y)
Definition ShapeData.cs:30
void Subtract(ShapeData shapeData, Point localOrigin, Point remoteOrigin)
Definition ShapeData.cs:58
void Add(ShapeData shapeData, Point localOrigin, Point remoteOrigin)
Definition ShapeData.cs:50
bool Contains(int x, int y)
Definition ShapeData.cs:45
ShapeData(ShapeData original)
Definition ShapeData.cs:20
static Rectangle GetBounds(Point origin, params ShapeData[] shapes)
Definition ShapeData.cs:66
HashSet< Point16 > _points
Definition ShapeData.cs:11