Elin Modding Docs Doc
Loading...
Searching...
No Matches
UndoManager.cs
1using System;
2using System.Collections.Generic;
3
4// Token: 0x0200024E RID: 590
5public class UndoManager
6{
7 // Token: 0x17000452 RID: 1106
8 // (get) Token: 0x06001047 RID: 4167 RVA: 0x00072E1E File Offset: 0x0007101E
9 public UndoManager.Item lastItem
10 {
11 get
12 {
13 return this.items.LastItem<UndoManager.Item>();
14 }
15 }
16
17 // Token: 0x06001048 RID: 4168 RVA: 0x00072E2C File Offset: 0x0007102C
18 public void Validate()
19 {
20 for (int i = this.items.Count - 1; i >= 0; i--)
21 {
22 if (this.items[i].Count() == 0)
23 {
24 this.items.RemoveAt(i);
25 }
26 }
27 }
28
29 // Token: 0x06001049 RID: 4169 RVA: 0x00072E70 File Offset: 0x00071070
30 public void NewItem()
31 {
32 this.items.Add(new UndoManager.Item());
33 if (this.items.Count > 10)
34 {
35 this.items.RemoveAt(0);
36 }
37 }
38
39 // Token: 0x0600104A RID: 4170 RVA: 0x00072E9D File Offset: 0x0007109D
40 public void Add(Task t)
41 {
42 this.lastItem.list.Add(t);
43 }
44
45 // Token: 0x0600104B RID: 4171 RVA: 0x00072EB0 File Offset: 0x000710B0
46 public string GetText()
47 {
48 string text = "tUndo".lang() + Environment.NewLine;
49 if (this.items.Count == 0)
50 {
51 text += "tUndoNone".lang();
52 }
53 else
54 {
55 text += "tUndoNote".lang(this.lastItem.Count().ToString() ?? "", this.lastItem.name ?? "", null, null, null);
56 }
57 return text;
58 }
59
60 // Token: 0x0600104C RID: 4172 RVA: 0x00072F40 File Offset: 0x00071140
61 public void WriteNote(UINote n)
62 {
63 this.Validate();
64 n.Clear();
65 n.Space(10, 1);
66 n.AddText("NoteText_topic", "tUndo".lang(), FontColor.DontChange);
67 if (this.items.Count == 0)
68 {
69 n.AddText("tUndoNone".lang(), FontColor.DontChange);
70 }
71 else
72 {
73 n.AddText("tUndoNote".lang(this.lastItem.Count().ToString() ?? "", this.lastItem.name ?? "", null, null, null), FontColor.DontChange);
74 }
75 n.Build();
76 }
77
78 // Token: 0x0600104D RID: 4173 RVA: 0x00072FE8 File Offset: 0x000711E8
79 public void Perform()
80 {
81 this.Validate();
82 if (this.items.Count == 0)
83 {
84 SE.Beep();
85 return;
86 }
87 foreach (Task task in this.lastItem.list)
88 {
89 task.Destroy();
90 }
91 this.items.Remove(this.lastItem);
92 SE.Play("trash");
93 }
94
95 // Token: 0x04000DB1 RID: 3505
96 public List<UndoManager.Item> items = new List<UndoManager.Item>();
97
98 // Token: 0x0200092A RID: 2346
99 public class Item
100 {
101 // Token: 0x170011C6 RID: 4550
102 // (get) Token: 0x06003D38 RID: 15672 RVA: 0x001452EC File Offset: 0x001434EC
103 public string name
104 {
105 get
106 {
107 if (this.list.Count <= 0)
108 {
109 return "none".lang();
110 }
111 return this.list[0].Name;
112 }
113 }
114
115 // Token: 0x06003D39 RID: 15673 RVA: 0x00145318 File Offset: 0x00143518
116 public int Count()
117 {
118 int num = 0;
119 using (List<Task>.Enumerator enumerator = this.list.GetEnumerator())
120 {
121 while (enumerator.MoveNext())
122 {
123 if (!enumerator.Current.isDestroyed)
124 {
125 num++;
126 }
127 }
128 }
129 return num;
130 }
131
132 // Token: 0x040026C3 RID: 9923
133 public List<Task> list = new List<Task>();
134 }
135}
Definition Task.cs:6