Esempio n. 1
0
    private void UpFinish(object[] data)
    {
        CommTool.SaveIntData(CatchTimes.PlayerCatch.ToString());
        // Stop = true;
        GameEntity ge        = listPang.Find(e => e.catchty != CatchTy.CatchErrorPos);//抓中的
        CatchTy    tempCatch = ge == null ? CatchTy.CatchErrorPos : ge.catchty;

        EventHandler.ExcuteMsgEvent(EventHandlerType.Success, tempCatch);
        if (ge != null && ge.catchty == CatchTy.Catch)
        {
            tempPange.SetActive(false);
            tempPange.transform.SetParent(parentPang.transform);
            tempPange.transform.localPosition = Vector3.zero;
        }
    }
Esempio n. 2
0
    IEnumerator WinPlay(CatchTy cat)
    {
        SDKManager.Instance.gameStatus.SetGameNumber(time_ci - 1);
        if (cat == CatchTy.Catch)
        {
            MyFuncPerSecond func = null;
            #region  异物
            if (!SDKManager.Instance.isTabke())//出口有异物
            {
                UIManager.Instance.ShowUI(UIPromptPage.NAME, true, CatchTy.HasBoy);
                List <ExcelTableEntity> etable = SDKManager.Instance.GetVoiceForType(VoiceType.Special);
                func = (ref float t) =>
                {
                    if (t == 20 && !SDKManager.Instance.isTakeAway)
                    {
                        SDKManager.Instance.Speak(etable[1].TimeContent);//播放音效
                    }
                    if (t == 0)
                    {
                        t = 21;
                    }
                    return(SDKManager.Instance.isTakeAway);
                };
                yield return(SDKManager.Instance.TimeFun(20, 1, func));
            }
            #endregion

            #region 胜利等待取走礼物
            succNum++;
            SDKManager.Instance.gameStatus.SetIsCatch(true);
            SDKManager.Instance.RecordTimes(succNum, true);
            UIManager.Instance.ShowUI(UIPromptPage.NAME, true, CatchTy.Catch);
            SDKManager.Instance.AutoSendPresent();                                       //自动出礼物
            CommTool.SaveIntData(CatchTimes.Catch.ToString());
            AudioManager.Instance.PlayByName(AudioType.Fixed, AudioNams.shengli, false); //播放胜利音效
            SDKManager.Instance.WonDoll(true);                                           //摆动翅膀闪光带
            EffectMrg.ShowEffect();                                                      //播放特效
            SDKManager.Instance.Speak(elist[0].WinningContent);
            int winTime  = Convert.ToInt32(elist[0].WinTime);
            int winafter = Convert.ToInt32(elist[0].WinningAfterTime) + 2;//时间间隔两秒
            yield return(SDKManager.Instance.TimeFun(winTime, winTime));

            func = null;
            func = (ref float t) =>
            {
                if (SDKManager.Instance.isTakeAway)//已取走
                {
                    Debug.Log("已取走");
                    EffectMrg.StopPlayEffect();
                    SDKManager.Instance.WonDoll(false);
                    UIManager.Instance.ShowUI(UIPromptPage.NAME, false);
                    return(true);
                }
                if (t == 0)
                {
                    SDKManager.Instance.Speak(elist[0].WinningAfter);//播放音效
                    t = winafter;
                }
                return(false);
            };
            yield return(SDKManager.Instance.TimeFun(winafter, 1, func));

            #endregion
        }
        else
        {
            SDKManager.Instance.RecordTimes(succNum, false);
            UIManager.Instance.ShowUI(UIPromptPage.NAME, true, cat);//失败显示
            AudioManager.Instance.PlayByName(AudioType.Fixed, AudioNams.shibai, false);
            string[] contents;
            if (cat == CatchTy.NoCatch)
            {
                contents = elist[0].FailContent.Split('|');
            }
            else
            {
                contents = elist[0].FialContentDrop.Split('|');
            }
            int index = UnityEngine.Random.Range(0, contents.Length);
            SDKManager.Instance.Speak(contents[index]);//随机语音
            int delytime = Convert.ToInt32(elist[0].FailTime);
            if (time_ci > 0)
            {
                SDKManager.Instance.Light(false, 5000);
            }
            else
            {
                SDKManager.Instance.Light(false, (delytime - 1) * 1000);
            }
            yield return(new WaitForSeconds(delytime));

            UIManager.Instance.ShowUI(UIPromptPage.NAME, false);
        }
        RestStart();
    }