using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;
[Serializable]
public class StringUnityEvent : UnityEvent<string>
{ }
[RequireComponent(typeof(InputField))]
public class InputFieldSubmit : MonoBehaviour
{
public StringUnityEvent onSubmit;
private InputField inputField;
void Awake()
{
inputField = GetComponent<InputField>();
inputField.lineType = InputField.LineType.MultiLineNewline;
}
void OnEnable()
{
inputField.onValidateInput += CheckForEnter;
}
void OnDisable()
{
inputField.onValidateInput -= CheckForEnter;
}
private char CheckForEnter(string text, int charIndex, char addedChar)
{
if (addedChar == '\n' && onSubmit != null)
{
onSubmit.Invoke(text);
return '\0';
}
else
return addedChar;
}
}
InputFieldSubmit
这个脚本要挂载在 InputField
组件上,如图:using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class mytext : MonoBehaviour
{
public InputFieldSubmit InputFieldSubmit;
void Start()
{
InputFieldSubmit.onSubmit.AddListener(bb);
}
//提交后业务逻辑
private void bb(string arg0)
{
throw new NotImplementedException();
}
}
因篇幅问题不能全部显示,请点此查看更多更全内容