-
Notifications
You must be signed in to change notification settings - Fork 1
/
DeckEditToggleFilter.cs
93 lines (77 loc) · 1.96 KB
/
DeckEditToggleFilter.cs
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
using Ankama.Cube.Data;
using Ankama.Cube.UI.Components;
using Ankama.Cube.UI.DeckMaker;
using System;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;
public class DeckEditToggleFilter : MonoBehaviour
{
[SerializeField]
private CaracId m_element;
[SerializeField]
private Element m_spellElement;
[SerializeField]
private bool m_SpellFilter;
[SerializeField]
private bool m_CompanionFilter;
[Header("Visual")]
[SerializeField]
private Image m_ElementPicto;
[SerializeField]
private Color m_defaultColor;
[SerializeField]
private Color m_activColor;
private AnimatedToggleButton m_toggle;
private Action<bool> m_onFilterChange;
public CaracId GetElement()
{
return m_element;
}
public Element GetSpellElement()
{
return m_spellElement;
}
public bool IsEnabled()
{
return m_toggle.get_isOn();
}
public unsafe void Initialise(Action<bool> onFilterChange)
{
m_onFilterChange = onFilterChange;
m_toggle = this.GetComponent<AnimatedToggleButton>();
m_toggle.onValueChanged.AddListener(new UnityAction<bool>((object)this, (IntPtr)(void*)/*OpCode not supported: LdFtn*/));
}
private void OnValueChange(bool on)
{
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
m_ElementPicto.set_color(on ? m_activColor : m_defaultColor);
m_onFilterChange?.Invoke(on);
}
public void OnEditModeChange(EditModeSelection selection)
{
switch (selection)
{
case EditModeSelection.Spell:
m_toggle.set_interactable(m_SpellFilter);
this.get_gameObject().SetActive(m_SpellFilter);
break;
case EditModeSelection.Companion:
this.get_gameObject().SetActive(m_CompanionFilter);
m_toggle.set_interactable(m_CompanionFilter);
break;
default:
m_toggle.set_interactable(false);
break;
}
if (!m_toggle.get_interactable())
{
m_toggle.set_isOn(false);
}
}
public DeckEditToggleFilter()
: this()
{
}
}