Exemple #1
0
    static int PlayClipData(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(MicroPhoneInput), typeof(short[])))
            {
                MicroPhoneInput obj  = (MicroPhoneInput)ToLua.ToObject(L, 1);
                short[]         arg0 = ToLua.CheckNumberArray <short>(L, 2);
                obj.PlayClipData(arg0);
                return(0);
            }
            else if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(MicroPhoneInput), typeof(byte[])))
            {
                MicroPhoneInput obj  = (MicroPhoneInput)ToLua.ToObject(L, 1);
                byte[]          arg0 = ToLua.CheckByteBuffer(L, 2);
                obj.PlayClipData(arg0);
                return(0);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to method: MicroPhoneInput.PlayClipData"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
Exemple #2
0
    // 在空格处放上表情动画
    private GameObject ReplaceEmojiWithPicture(string faceName)
    {
        GameObject        sprite;
        UISprite          spFace;
        UISpriteAnimation spaFace;
        AnimationVO       aniConfig = GameConst.GetAnimationConfigByIndex(faceName);

        sprite  = GameObject.Instantiate(faceTemplate);
        spFace  = sprite.GetComponent <UISprite>();
        spaFace = sprite.GetComponent <UISpriteAnimation>();

        spFace.GetComponent <UIWidget>().width  = (int)(cellLength * aniConfig.spaceNum * 0.5f);
        spFace.GetComponent <UIWidget>().height = (int)cellLength * aniConfig.rowNum;

        sprite.transform.parent = emojiContainer;
        spFace.spriteName       = faceName + "_1";
        spaFace.namePrefix      = faceName + "_";

        if (aniConfig != null)
        {
            if (aniConfig.isNotPlay)
            {
                StopAudioAnimation(spaFace);
                if (aniConfig.isAudio)
                {
                    RegistUIButton(gameObject, (go) => {
                        if (chatData == null || chatData.voiceData == null)
                        {
                            return;
                        }
                        Byte[] wavData = SevenZipCompress.Decompress(chatData.voiceData);
                        _microPhoneInput.PlayClipData(wavData);
                        spaFace.Play();
                        Director.GetInstance().scheduler.SetTimeOut(chatData.time, () => {
                            StopAudioAnimation(spaFace);
                        });
                    });
                }
            }
            spaFace.framesPerSecond = aniConfig.rate;
        }
        if (!aniConfig.isAudio)
        {
            sprite.GetComponent <Collider>().enabled = false;
        }
        Vector3 tmpPos;

        sprite.transform.localScale = Vector3.one;
        tmpPos   = picIndex;
        tmpPos.y = picIndex.y + cellLength * (aniConfig.rowNum - 1);

        sprite.transform.localPosition = tmpPos;
        sprite.name = faceName;
        sprite.SetActive(true);
        spFace.ResizeCollider();

        return(sprite);
    }
 static int PlayClipData(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         MicroPhoneInput obj  = (MicroPhoneInput)ToLua.CheckObject <MicroPhoneInput>(L, 1);
         short[]         arg0 = ToLua.CheckNumberArray <short>(L, 2);
         obj.PlayClipData(arg0);
         return(0);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }