// ***********************************************************************
// Assembly : Game
// Author : Kimch
// Created : 2021-12-21
// Description :
// Last Modified By :
// Last Modified On :
// ***********************************************************************
//
//
// ***********************************************************************
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
#if SDK_WECHAT_WASM
using WeChatWASM;
#endif
namespace G
{
///
/// 微信适配
///
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()
{
}
}
}