Пример #1
0
 public void ChangeIme(ChatBoxChangeImeData imeData)
 {
     if (imeData.bIsInImeList && !imeData.name.Equals(ULocalizationService.Instance.Get("UIView", "ChatBox", "EN")))
     {
         chineseIcon.gameObject.SetActive(true);
         enIcon.gameObject.SetActive(false);
     }
     else
     {
         chineseIcon.gameObject.SetActive(false);
         enIcon.gameObject.SetActive(true);
     }
 }
Пример #2
0
    //激活/关闭输入法
    public static void ActiveIme(bool bEnable)
    {
        if (!bInit || !bForbidIme)
        {
            return;
        }

        bEnableIme = bEnable;
        if (bEnableIme)
        {
            GameLogicAPI.ActivateKeyboardLayout(cacheImeIntPtr, KLF_ACTIVATE);
            currentImeIntPtr = GameLogicAPI.GetKeyboardLayout(0);
            szImeName        = "";
            bool isInImeList = false;

            foreach (KeyValuePair <string, IntPtr> temp in ImeList)
            {
                if (temp.Value == currentImeIntPtr)
                {
                    szImeName   = temp.Key;
                    isInImeList = true;
                }
            }
            ChatBoxChangeImeData imeData = new ChatBoxChangeImeData();
            imeData.bIsInImeList = isInImeList;
            imeData.name         = szImeName;
            imeData.bIsIme       = szImeName == szEnName ? false : true;
            UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_CHATBOX_CHANGEIME, imeData);
        }
        else
        {
            cacheImeIntPtr = currentImeIntPtr;
            GameLogicAPI.ActivateKeyboardLayout(defaultEnImeIntPtr, KLF_ACTIVATE);
            ChatBoxChangeImeData imeData = new ChatBoxChangeImeData();
            imeData.bIsInImeList = false;
            imeData.name         = szEnName;
            imeData.bIsIme       = false;
            UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_CHATBOX_CHANGEIME, imeData);
        }
    }
Пример #3
0
    public void Update()
    {
        if (!bForbidIme || !Initialize.isOnFocus)
        {
            return;
        }

        currentImeIntPtr = GameLogicAPI.GetKeyboardLayout(0);
        if (bEnableIme)
        {
            if (currentImeIntPtr != PrevImeIntPtr)
            {
                PrevImeIntPtr = currentImeIntPtr;
                szImeName     = "";
                bool isInImeList = false;
                foreach (KeyValuePair <string, IntPtr> temp in ImeList)
                {
                    if (temp.Value == currentImeIntPtr)
                    {
                        szImeName   = temp.Key;
                        isInImeList = true;
                    }
                }
                ChatBoxChangeImeData imeData = new ChatBoxChangeImeData();
                imeData.bIsInImeList = isInImeList;
                imeData.name         = szImeName;
                imeData.bIsIme       = szImeName == szEnName ? false : true;
                UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_CHATBOX_CHANGEIME, imeData);
            }
        }
        //屏蔽输入法切换
        else
        {
            //if (currentIme != defaultIme)
            GameLogicAPI.ActivateKeyboardLayout(defaultEnImeIntPtr, KLF_ACTIVATE);
        }
    }