OSDN Git Service

Added Assets for main menu
[mindgames/Mindgames_main.git] / Mindgames / Library / PackageCache / com.unity.visualeffectgraph@6.9.0-preview / Editor / Controls / VFXFlipBookField.cs
1 using UnityEngine;
2 using UnityEngine.UIElements;
3 using UnityEditor.UIElements;
4
5 using System.Collections.Generic;
6
7 namespace UnityEditor.VFX.UIElements
8 {
9     class VFXFlipBookField : VFXControl<FlipBook>
10     {
11         VFXLabeledField<IntegerField, int> m_X;
12         VFXLabeledField<IntegerField, int> m_Y;
13
14         void CreateTextField()
15         {
16             m_X = new VFXLabeledField<IntegerField, int>("X");
17             m_Y = new VFXLabeledField<IntegerField, int>("Y");
18
19             m_X.control.AddToClassList("fieldContainer");
20             m_Y.control.AddToClassList("fieldContainer");
21             m_X.AddToClassList("fieldContainer");
22             m_Y.AddToClassList("fieldContainer");
23
24             m_X.RegisterCallback<ChangeEvent<int>>(OnXValueChanged);
25             m_Y.RegisterCallback<ChangeEvent<int>>(OnYValueChanged);
26         }
27
28         void OnXValueChanged(ChangeEvent<int> e)
29         {
30             FlipBook newValue = value;
31             newValue.x = (int)m_X.value;
32             SetValueAndNotify(newValue);
33         }
34
35         void OnYValueChanged(ChangeEvent<int> e)
36         {
37             FlipBook newValue = value;
38             newValue.y = (int)m_Y.value;
39             SetValueAndNotify(newValue);
40         }
41
42         public override bool indeterminate
43         {
44             get
45             {
46                 return m_X.indeterminate;
47             }
48             set
49             {
50                 m_X.indeterminate = value;
51                 m_Y.indeterminate = value;
52             }
53         }
54
55         public VFXFlipBookField()
56         {
57             CreateTextField();
58
59             style.flexDirection = FlexDirection.Row;
60             Add(m_X);
61             Add(m_Y);
62         }
63
64         protected override void ValueToGUI(bool force)
65         {
66             if (!m_X.control.HasFocus() || force)
67                 m_X.value = value.x;
68
69             if (!m_Y.control.HasFocus() || force)
70                 m_Y.value = value.y;
71         }
72     }
73 }