14 return EClass.player.hotbars;
24 return this.pages[this.currentPage].SelectedItem;
50 public bool IsUserHotbar
54 return this.id == 5 || this.id == 6;
60 public bool ShowFunctionKey
74 return this.pages[(this.currentPage >= 0) ? this.currentPage : 0];
79 public void SetSlotNum(
int a)
81 this.itemsPerPage = a;
84 this.ValidatePage(page, -1);
93 this.ValidatePage(page, -1);
97 public void ValidatePage(
Hotbar.
Page page,
int num = -1)
99 if (num != -1 && this.itemsPerPage < num)
101 this.itemsPerPage = num;
103 if (page.items.Count <
this.itemsPerPage)
105 int num2 = this.itemsPerPage - page.items.Count;
106 for (
int i = 0; i < num2; i++)
108 page.items.Add(this.DefaultItem);
114 public void SetPage(
int pageIndex)
116 this.currentPage = pageIndex;
120 public void Remove(
HotItem item)
122 for (
int i = 0; i < this.pages.Count; i++)
124 for (
int j = 0; j < this.pages[i].items.Count; j++)
126 if (this.pages[i].items[j] == item)
128 this.SetItem(
null, j, i,
true);
135 public HotItem GetItem(
int index,
int pageIndex = -1)
137 return this.pages[(pageIndex == -1) ? this.currentPage : pageIndex].GetItem(index);
141 public HotItem SetItem(
HotItem item,
int index = -1,
int pageIndex = -1,
bool refreshActor =
false)
145 item = this.DefaultItem;
149 pageIndex = this.currentPage;
151 if (pageIndex >= this.pages.Count)
154 pageIndex = this.pages.Count - 1;
157 this.ValidatePage(page, index + 1);
158 page.SetItem(
this, item, index);
163 if (refreshActor && this.actor)
165 this.actor.RebuildPage(-1);
171 public void Select(
HotItem item)
174 EClass.player.SetCurrentHotItem(item);
178 public void ToggleDisable(
HotItem item)
180 item.disabled = !item.disabled;
186 EClass.player.SetCurrentHotItem(item.disabled ?
null : item);
190 public void Unselect(
int pageIndex = -1)
194 pageIndex = this.currentPage;
196 HotItem selectedItem = this.pages[pageIndex].SelectedItem;
197 this.pages[pageIndex].selected = -1;
198 if (selectedItem !=
null)
200 selectedItem.OnUnselect();
202 EClass.player.SetCurrentHotItem(
null);
206 public HotItem GetSelectedItem()
208 int selected = this.pages[this.currentPage].selected;
213 return this.pages[this.currentPage].items[selected];
217 public int GetNextSelectableIndex(
int pageIndex = -1)
221 pageIndex = this.currentPage;
224 int num = page.selected + 1;
225 if (num >= this.itemsPerPage)
229 this.ValidatePage(page, -1);
234 public int GetPrevSelectableIndex(
int pageIndex = -1)
238 pageIndex = this.currentPage;
241 int num = page.selected - 1;
244 num = this.itemsPerPage - 1;
246 this.ValidatePage(page, -1);
251 public const int IDMainMenu = 2;
254 public const int IDBuild = 3;
257 public const int IDUser2 = 5;
260 public const int IDUser3 = 6;
263 public const int IDSpeed = 7;
267 public int currentPage;
271 public int itemsPerPage = 6;
307 if (this.selected != -1)
309 return this.items[this.selected];
320 for (
int i = 0; i < this.items.Count; i++)
322 if (this.items[i] ==
null)
333 if (this.items[index] !=
null)
335 this.items[index].button =
null;
337 this.items[index] = item;
341 public HotItem GetItem(
int index)
343 if (index >= this.items.Count)
347 return this.items[index];
352 public List<HotItem> items =
new List<HotItem>();
356 public int selected = -1;