| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- namespace SRDebugger.UI.Controls.Data
- {
- using System;
- using SRF;
- using UnityEngine.UI;
- public class StringControl : DataBoundControl
- {
- [RequiredField] public InputField InputField;
- [RequiredField] public Text Title;
- protected override void Start()
- {
- base.Start();
- #if UNITY_4_6 || UNITY_4_7 || UNITY_5_0 || UNITY_5_1 || UNITY_5_2
- InputField.onValueChange.AddListener(OnValueChanged);
- #else
- InputField.onValueChanged.AddListener(OnValueChanged);
- #endif
- }
- private void OnValueChanged(string newValue)
- {
- UpdateValue(newValue);
- }
- protected override void OnBind(string propertyName, Type t)
- {
- base.OnBind(propertyName, t);
- Title.text = propertyName;
- InputField.text = "";
- InputField.interactable = !IsReadOnly;
- }
- protected override void OnValueUpdated(object newValue)
- {
- var value = newValue == null ? "" : (string) newValue;
- InputField.text = value;
- }
- public override bool CanBind(Type type, bool isReadOnly)
- {
- return type == typeof (string) && !isReadOnly;
- }
- }
- }
|