100 lines
2.4 KiB
C#
100 lines
2.4 KiB
C#
// ***********************************************************************
|
||
// Assembly : Game
|
||
// Author : Kimch
|
||
// Created : 2021-12-21
|
||
// Description :
|
||
// Last Modified By :
|
||
// Last Modified On :
|
||
// ***********************************************************************
|
||
// <copyright file= "WXInput" company="Kunpo"></copyright>
|
||
// <summary></summary>
|
||
// ***********************************************************************
|
||
|
||
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using UnityEngine;
|
||
using UnityEngine.EventSystems;
|
||
|
||
#if SDK_WECHAT_WASM
|
||
using WeChatWASM;
|
||
#endif
|
||
|
||
namespace G
|
||
{
|
||
/// <summary>
|
||
/// 微信适配
|
||
/// </summary>
|
||
public class WXInput : MonoBehaviour, IPointerClickHandler, IPointerExitHandler
|
||
{
|
||
|
||
public TMPro.TMP_InputField input;
|
||
|
||
public void OnPointerClick(PointerEventData eventData)
|
||
{
|
||
#if SDK_WECHAT_WASM
|
||
// 监听点击事件唤起微信输入法
|
||
WX.ShowKeyboard(new ShowKeyboardOption()
|
||
{
|
||
// 这里的参数根据需要自行设置,参见https://developers.weixin.qq.com/minigame/dev/api/ui/keyboard/wx.showKeyboard.html
|
||
defaultValue = input.text,
|
||
maxLength = 20,
|
||
confirmType = "go"
|
||
});
|
||
|
||
//绑定回调
|
||
WX.OnKeyboardConfirm(OnConfirm);
|
||
WX.OnKeyboardComplete(OnComplete);
|
||
#endif
|
||
}
|
||
|
||
public void OnPointerExit(PointerEventData eventData)
|
||
{
|
||
#if SDK_WECHAT_WASM
|
||
// 隐藏输入法
|
||
if (!input.isFocused)
|
||
{
|
||
WX.HideKeyboard(null);
|
||
//删除掉相关事件监听
|
||
WX.OffKeyboardInput(OnInput);
|
||
WX.OffKeyboardConfirm(OnConfirm);
|
||
WX.OffKeyboardComplete(OnComplete);
|
||
}
|
||
#endif
|
||
}
|
||
|
||
#if SDK_WECHAT_WASM
|
||
public void OnInput(OnKeyboardInputCallbackResult v)
|
||
{
|
||
if (input.isFocused)
|
||
{
|
||
//input.text = v.value;
|
||
}
|
||
|
||
}
|
||
|
||
public void OnConfirm(OnKeyboardInputCallbackResult v)
|
||
{
|
||
// 输入法confirm回调
|
||
if (input.isFocused)
|
||
{
|
||
input.text = v.value;
|
||
}
|
||
}
|
||
|
||
public void OnComplete(OnKeyboardInputCallbackResult v)
|
||
{
|
||
// 输入法complete回调
|
||
if (input.isFocused)
|
||
{
|
||
|
||
}
|
||
}
|
||
|
||
#endif
|
||
void Start()
|
||
{
|
||
|
||
}
|
||
}
|
||
}
|