123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using UnityEngine;
- using UnityEngine.Events;
- using UnityEngine.EventSystems;
- using UnityEngine.Serialization;
- using UnityEngine.UI;
- namespace CommonUnity3D.UGUI
- {
- public class InteractiveInputField : UnityEngine.UI.InputField, IInputField
- {
- private DisplayNode mBinding;
- private PointerEventData mLastPointerDown;
- public UnityEngine.UI.Selectable AsSelectable { get { return this; } }
- public bool IsPressDown { get { return base.IsPressed(); } }
- public PointerEventData LastPointerDown { get { return mLastPointerDown; } }
- public Action<PointerEventData> event_PointerDown { get; set; }
- public Action<PointerEventData> event_PointerUp { get; set; }
- public Action<PointerEventData> event_PointerClick { get; set; }
- public Action<string> event_EndEdit { get; set; }
- public Action<string> event_ValueChanged { get; set; }
- public DisplayNode Binding
- {
- get { return mBinding; }
- }
- public string Text
- {
- get { return this.text; }
- set { this.text = value; }
- }
- public InteractiveInputField()
- {
- this.inputType = UnityEngine.UI.InputField.InputType.Standard;
- this.onEndEdit.AddListener(OnEndEdit);
- this.onValueChanged.AddListener(OnValueChanged);
- }
- protected override void Awake()
- {
- this.mBinding = DisplayNode.AsDisplayNode(gameObject);
- base.Awake();
- }
- protected override void OnDestroy()
- {
- mBinding = null;
- mLastPointerDown = null;
- event_PointerDown = null;
- event_PointerUp = null;
- event_PointerClick = null;
- event_ValueChanged = null;
- event_EndEdit = null;
- this.onEndEdit.RemoveListener(OnEndEdit);
- this.onValueChanged.RemoveListener(OnValueChanged);
- base.OnDestroy();
- }
- protected virtual void OnValueChanged(string value)
- {
- if (event_ValueChanged != null)
- event_ValueChanged.Invoke(value);
- }
- protected virtual void OnEndEdit(string value)
- {
- if (event_EndEdit != null)
- event_EndEdit.Invoke(value);
- }
- public override void OnPointerDown(PointerEventData eventData)
- {
- this.mLastPointerDown = eventData;
- base.OnPointerDown(eventData);
- if (IsPressed())
- {
- if (event_PointerDown != null) event_PointerDown(eventData);
- }
- }
- public override void OnPointerUp(PointerEventData eventData)
- {
- base.OnPointerUp(eventData);
- if (!IsPressed())
- {
- if (event_PointerUp != null) event_PointerUp(eventData);
- }
- }
- public override void OnPointerClick(PointerEventData eventData)
- {
- base.OnPointerClick(eventData);
- if (event_PointerClick != null) event_PointerClick(eventData);
- }
- }
-
- }
|