-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathPrivateData.cs
More file actions
55 lines (50 loc) · 1.38 KB
/
Copy pathPrivateData.cs
File metadata and controls
55 lines (50 loc) · 1.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
namespace Storm;
using Shaders;
public abstract partial class Game
{
private class ObjectList : List<GameObject> {
public enum SortType {
update,
render,
}
private SortType st;
public ObjectList(SortType st)
{
this.st = st;
}
public new void Add(GameObject element) {
base.Add(element);
if (st == SortType.update)
{
Sort(new UpdateIComparer());
}
if (st == SortType.render)
{
Sort(new RenderIComparer());
}
}
private class UpdateIComparer : IComparer<GameObject> {
public int Compare(GameObject? x, GameObject? y)
{
int sort = x!.updateIndex.CompareTo(y!.updateIndex);
return sort;
}
}
private class RenderIComparer : IComparer<GameObject> {
public int Compare(GameObject? x, GameObject? y)
{
int sort = x!.renderIndex.CompareTo(y!.renderIndex);
return sort;
}
}
}
private class Canvas : Form
{
public Canvas()
{
this.AutoScaleMode = AutoScaleMode.Font;
this.DoubleBuffered = true;
this.StartPosition = FormStartPosition.CenterScreen;
}
}
}