Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
UIButtonLR.cs
Go to the documentation of this file.
1using System;
2using System.Collections.Generic;
3
4public class UIButtonLR : UIButton
5{
6 [NonSerialized]
7 public int index;
8
9 public UIButton left;
10
12
14
15 public bool loopOption;
16
17 [NonSerialized]
18 public List<string> options = new List<string>();
19
20 public void SetOptions(int _index, List<string> langs, Action<int> onSelect, bool invoke = true, string langTopic = null)
21 {
22 left.onClick.RemoveAllListeners();
23 right.onClick.RemoveAllListeners();
24 options = langs;
25 left.onClick.AddListener(delegate
26 {
28 onSelect(index);
29 });
30 right.onClick.AddListener(delegate
31 {
33 onSelect(index);
34 });
35 SelectOption(_index);
36 if (invoke)
37 {
38 onSelect(index);
39 }
40 if (!langTopic.IsEmpty())
41 {
42 textTitle.SetLang(langTopic);
43 }
44 }
45
46 public void SetOptions<T>(int _index, IList<T> list, Func<T, string> funcName, Action<T> onSelect, bool invoke = true, string langTopic = null)
47 {
48 options.Clear();
49 foreach (T item in list)
50 {
51 options.Add(funcName(item));
52 }
53 left.onClick.RemoveAllListeners();
54 right.onClick.RemoveAllListeners();
55 left.onClick.AddListener(delegate
56 {
58 onSelect(list[index]);
59 });
60 right.onClick.AddListener(delegate
61 {
63 onSelect(list[index]);
64 });
65 SelectOption(_index);
66 if (invoke)
67 {
68 onSelect(list[index]);
69 }
70 if (!langTopic.IsEmpty())
71 {
72 textTitle.SetLang(langTopic);
73 }
74 }
75
76 public void SelectOption(int _index)
77 {
78 if (_index < 0)
79 {
80 _index = (loopOption ? (options.Count - 1) : 0);
81 }
82 if (_index >= options.Count)
83 {
84 _index = ((!loopOption) ? (options.Count - 1) : 0);
85 }
86 index = _index;
88 }
89}
UIButton right
Definition: UIButtonLR.cs:11
UIText textTitle
Definition: UIButtonLR.cs:13
int index
Definition: UIButtonLR.cs:7
UIButton left
Definition: UIButtonLR.cs:9
void SelectOption(int _index)
Definition: UIButtonLR.cs:76
bool loopOption
Definition: UIButtonLR.cs:15
List< string > options
Definition: UIButtonLR.cs:18
void SetOptions< T >(int _index, IList< T > list, Func< T, string > funcName, Action< T > onSelect, bool invoke=true, string langTopic=null)
Definition: UIButtonLR.cs:46
void SetOptions(int _index, List< string > langs, Action< int > onSelect, bool invoke=true, string langTopic=null)
Definition: UIButtonLR.cs:20
UIText mainText
Definition: UIButton.cs:102
Item item
Definition: UIButton.cs:172
Definition: UIText.cs:6
void SetLang(string idLang)
Definition: UIText.cs:240