Exemple #1
0
    protected void AddChips(Transform parent, long chips)
    {
        for (int i = parent.childCount - 1; i >= 0; i--)
        {
            GameObject.DestroyImmediate(parent.GetChild(i).gameObject);
        }

        BetData bd = BlackJack_Data.GetInstance().m_BetData[m_BjGameBase.m_RoomInfo.m_nRoomLevel - 1];

        int[] grades = bd.m_nGrades;
        for (int i = grades.Length - 1; i >= 0; i--)
        {
            if (chips >= grades[i] || i == 0)
            {
                int index = i + (chips > grades[i] ? 2 : 1);
                UnityEngine.Object obj     = (GameObject)m_BjGameBase.m_AssetBundle.LoadAsset("Model_chouma" + index);
                GameObject         gameObj = GameMain.instantiate(obj) as GameObject;
                gameObj.transform.SetParent(parent, false);
                gameObj.GetComponentInChildren <TextMesh>().text = GameFunction.FormatCoinText(chips);

                break;
            }
        }


        CustomAudioDataManager.GetInstance().PlayAudio(1003);
    }
Exemple #2
0
    /// <summary>
    /// 播放UI动画
    /// </summary>
    /// <param name="animationName">动画名称</param>
    /// <param name="lifeTime">动画时间</param>
    /// <param name="parentTfm">动画挂载点</param>
    /// <param name="assetBundle">动画资源包</param>
    /// <param name="audioID">音效ID</param>
    public static GameObject PlayUIAnim(string animationName, float lifeTime, Transform parentTfm, AssetBundle assetBundle, int audioID = 0)
    {
        if (string.IsNullOrEmpty(animationName))
        {
            return(null);
        }
        if (parentTfm == null)
        {
            Debug.Log("动画挂载点不存在!!!");
            return(null);
        }
        if (assetBundle == null)
        {
            Debug.Log("动画资源加载失败!!!");
            return(null);
        }
        UnityEngine.Object obj     = assetBundle.LoadAsset(animationName);
        GameObject         gameObj = (GameObject)GameMain.instantiate(obj);

        gameObj.transform.SetParent(parentTfm, false);
        DragonBones.UnityArmatureComponent animate = gameObj.GetComponentInChildren <DragonBones.UnityArmatureComponent>();
        animate.animation.Play("newAnimation");
        if (lifeTime > 0f)
        {
            GameObject.Destroy(gameObj, lifeTime);
        }

        if (audioID != 0)
        {
            CustomAudioDataManager.GetInstance().PlayAudio(audioID);
        }

        return(gameObj);
    }
Exemple #3
0
    public static CustomAudioDataManager GetInstance()
    {
        if (instance_ == null)
        {
            instance_ = new CustomAudioDataManager();
        }

        return(instance_);
    }
Exemple #4
0
    public void Init(CGame_Fishing game, splineMove move, uint index, byte typeId)
    {
        AssetBundle ab = game.FishingAssetBundle;

        m_Animator       = GetComponent <Animator>();
        m_Animator.speed = 0f;
        m_SplineMove     = move;
        m_nOnlyId        = index;
        m_nTypeId        = typeId;

        m_Renderers = gameObject.GetComponentsInChildren <Renderer>();
        foreach (Renderer child in m_Renderers)
        {
            child.enabled = false;
        }

        if (m_SplineMove != null)
        {
            if (m_SplineMove.loopType != splineMove.LoopType.loop)
            {
                m_SplineMove.tween.OnComplete(OnComplete);
            }
            m_SplineMove.tween.OnPlay(OnPlay);
        }
        else
        {
            OnPlay();
        }

        m_LockSitList.Clear();
        m_LockPointTfm = transform.parent.Find("Point_LockTarget");

        FishingFishData fd = Fishing_Data.GetInstance().m_FishData[m_nTypeId];

        if (fd.m_nHitAudio != 0)
        {
            m_HitSound      = gameObject.AddComponent <AudioSource>();
            m_HitSound.clip = ab.LoadAsset <AudioClip>(CustomAudioDataManager.GetInstance().GetSoundName(fd.m_nHitAudio));
        }
        if (fd.m_nDeadAudio != 0)
        {
            m_DeadSound      = gameObject.AddComponent <AudioSource>();
            m_DeadSound.clip = ab.LoadAsset <AudioClip>(CustomAudioDataManager.GetInstance().GetSoundName(fd.m_nDeadAudio));
        }
        if (fd.m_szTalk.Length > 0)
        {
            m_TalkObj = (GameObject)ab.LoadAsset("talk_Image_BG");
            m_TalkObj = (GameObject)Instantiate(m_TalkObj);
            m_TalkObj.GetComponentInChildren <Text>().text = fd.m_szTalk;
            m_TalkObj.transform.SetParent(game.MainUITfm.Find("point_talk"), false);
            Invoke("ShowTalk", fd.m_nTalkInterval);
            Invoke("HideTalk", fd.m_nTalkInterval + fd.m_nTalkShowTime);
            UpdateTalk();
            m_TalkObj.SetActive(false);
        }
    }
Exemple #5
0
 public void PlaySound(int audioId)
 {
     if (hall)
     {
         CustomAudio.GetInstance().PlayCustomAudio((uint)audioId);
     }
     else
     {
         CustomAudioDataManager.GetInstance().PlayAudio(audioId);
     }
 }
Exemple #6
0
    // Use this for initialization
    void Start()
    {
        //获取声音
        m_FireSound = GetComponent <AudioSource>();
        m_FireSound.Stop();

        m_AnimCtrl = transform.Find("Anime_01").GetComponent <DragonBones.UnityArmatureComponent>();
        m_AnimCtrl.AddEventListener(DragonBones.EventObject.COMPLETE, AnimationEventHandler);

        m_LineImg = transform.Find(m_Data.m_szBulletPoint[0]).GetComponentInChildren <Image>();

        PlayAnim("up");

        CustomAudioDataManager.GetInstance().PlayAudio(1005);
    }
Exemple #7
0
    IEnumerator DealChargeCard()
    {
        yield return(new WaitWhile(() => m_bDealPoker));

        int        playerNum = 0;
        int        startPos  = 0;
        byte       card      = 0;
        Black_Role role;

        for (int i = RoomInfo.PlayerNum - 1; i >= 0; i--)
        {
            role = m_BjGameBase.m_RoomInfo.m_PlayerList[i];
            if (role.m_vecBlackPoker[0].Count > 0)
            {
                if (playerNum == 0)
                {
                    startPos = i;
                    card     = role.m_vecBlackPoker[1].Count > 0 ? role.m_vecBlackPoker[1][0] : role.m_vecBlackPoker[0][0];
                }

                if (i == 0)
                {
                    m_Animator.SetBool("HavePlayerRight", true);
                }

                playerNum++;
            }
        }

        if (playerNum != 0)
        {
            CustomAudioDataManager.GetInstance().PlayAudio(1006);
            m_Animator.SetTrigger("EndIdle");
            m_Animator.SetBool("Charge", true);
            m_Animator.SetFloat("PlayerNum", playerNum);
            m_Animator.SetInteger("StartChargeNum", startPos);

            ChangePokerMat(card);

            yield return(new WaitWhile(() => m_bChargeCard));

            m_bChargeCard = false;

            m_BjGameBase.OnEnd();
        }

        Init();
    }
Exemple #8
0
    protected void AddPoker(byte card, Transform parent)
    {
        string mat = GameCommon.GetPokerMat(card);

        //DebugLog.LogWarning("userid:" + m_nUserId + " card mat:" + mat);

        //UnityEngine.Object obj = (GameObject)m_BjGameBase.m_AssetBundle.LoadAsset("Model_Pai");
        //GameObject gameObj = GameMain.instantiate(obj) as GameObject;
        //gameObj.transform.SetParent(parent, false);
        //gameObj.transform.GetComponentInChildren<MeshRenderer>().material =
        //    m_BjGameBase.m_AssetBundle.LoadAsset<Material>(mat);
        parent.gameObject.SetActive(true);
        parent.GetComponent <MeshRenderer>().material = m_BjGameBase.m_AssetBundle.LoadAsset <Material>(mat);

        CustomAudioDataManager.GetInstance().PlayAudio(1005);
    }
Exemple #9
0
    void ClearChips(int cardPos = -1, int index = -1, bool playSound = true)
    {
        if (m_ChipPointArray != null)
        {
            bool bHaveChip = false;

            if (cardPos < 0)
            {
                foreach (Transform tfm in m_ChipPointArray)
                {
                    foreach (Transform tfmChild in tfm)
                    {
                        bHaveChip = true;
                        GameObject.Destroy(tfmChild.gameObject);
                    }
                }
            }
            else
            {
                if (index < 0)
                {
                    for (int i = 0; i < 3; i++)
                    {
                        foreach (Transform tfmChild in m_ChipPointArray[cardPos, i])
                        {
                            bHaveChip = true;
                            GameObject.Destroy(tfmChild.gameObject);
                        }
                    }
                }
                else
                {
                    foreach (Transform tfmChild in m_ChipPointArray[cardPos, index])
                    {
                        bHaveChip = true;
                        GameObject.Destroy(tfmChild.gameObject);
                    }
                }
            }

            if (bHaveChip && playSound)
            {
                CustomAudioDataManager.GetInstance().PlayAudio(1004);
            }
        }
    }
Exemple #10
0
    public static Fishing_Cannon Create(AssetBundle ab, Transform parent, byte id, byte level, uint bulletCost)
    {
        FishingCannonData fcd = Fishing_Data.GetInstance().m_CannonData[id];
        GameObject        obj = (GameObject)ab.LoadAsset(fcd.m_szCannon);

        obj = ((GameObject)GameMain.instantiate(obj));
        obj.transform.SetParent(parent, false);
        obj.transform.Find(fcd.m_szLvPoint).GetComponent <UnityEngine.UI.Text>().text = level.ToString();
        Fishing_Cannon fc = obj.AddComponent <Fishing_Cannon>();

        fc.m_Data        = fcd;
        fc.m_nTypeId     = id;
        fc.m_nBulletCost = bulletCost * (uint)fcd.m_szBulletPoint.Length;

        if (fcd.m_nAudio != 0)
        {
            AudioSource audioSrc = obj.AddComponent <AudioSource>();
            audioSrc.clip = ab.LoadAsset <AudioClip>(CustomAudioDataManager.GetInstance().GetSoundName(fcd.m_nAudio));
        }
        return(fc);
    }
Exemple #11
0
    IEnumerator PopCoin(Fishing_Fish fish, FishingFishData fd, bool bLocal, long getCoin, Vector3 center, Vector3 targetPos, byte getSkillId)
    {
        //DebugLog.Log("num:" + num + " center:" + center + " target:" + targetPos);

        if (getCoin <= 0)
        {
            yield break;
        }

        CGame_Fishing game = fish.m_CatchRole.GameBase;
        AssetBundle   ab   = game.FishingAssetBundle;
        Canvas        cv   = game.GameCanvas;
        Transform     root = cv.transform.Find("Root");

        GameObject prefab;

        GameObject big = null;

        if (fd.m_nMultiple >= 20)
        {
            prefab = (GameObject)ab.LoadAsset("FishCoin_big");
            big    = ((GameObject)GameMain.instantiate(prefab));
            big.transform.SetParent(root, false);
            big.transform.localPosition = center;
            game.m_AddItems.Add(big);

            Camera.main.DOShakePosition(1f, 1f).OnComplete(() =>
            {
                Camera.main.transform.position = game.CameraSourcePos;
            });

            CustomAudioDataManager.GetInstance().PlayAudio(1004);
        }
        else
        {
            CustomAudioDataManager.GetInstance().PlayAudio(1003);
        }

        yield return(new WaitUntil(() => m_bDeathEnd));

        Transform effectTfm = fish.transform.parent.Find("Effect");

        if (effectTfm != null)
        {
            effectTfm.DOScale(Vector3.zero, 1f);
        }
        fish.transform.parent.DOScale(Vector3.zero, 1f);

        prefab = (GameObject)ab.LoadAsset(bLocal ? "Text_HurtNum" : "Text_HurtNum_other");
        GameObject textObj = ((GameObject)GameMain.instantiate(prefab));

        textObj.transform.SetParent(root.Find("HurtNum"), false);
        textObj.transform.localPosition = center;
        textObj.transform.localScale    = Vector3.zero;
        textObj.transform.GetComponent <Text>().text = GameFunction.FormatCoinText(getCoin, true, false);
        game.m_AddItems.Add(textObj);
        textObj.transform.DOScale(new Vector3(1f, 1f, 1f), 0.5f).OnComplete(() =>
        {
            textObj.transform.DOScale(new Vector3(1f, 1f, 1f), 0.5f).OnComplete(() =>
            {
                game.m_AddItems.Remove(textObj);
                Destroy(textObj);
            });
        });

        bool bCoin = true;

        if (getSkillId > 0 && bLocal)
        {
            if (getSkillId == RoomInfo.NoSit)//lottery
            {
                prefab = (GameObject)ab.LoadAsset("Skill_Ticket");
                bCoin  = false;
            }
            else
            {
                prefab = (GameObject)ab.LoadAsset("Skill_" + getSkillId);
            }
            if (prefab != null)
            {
                GameObject skillObj = Instantiate(prefab);
                skillObj.transform.SetParent(root, false);
                skillObj.transform.localPosition = center;
                game.m_AddItems.Add(skillObj);
                skillObj.transform.DOLocalMove(center + new Vector3(0, 100f, 0f), 1f).OnComplete(() =>
                {
                    game.m_AddItems.Remove(skillObj);
                    Destroy(skillObj);
                });
            }
        }

        if (bCoin)
        {
            int   num    = Mathf.CeilToInt((float)fd.m_nMultiple / 5) + 2;
            float radius = (num - 1) * 10f;
            float halfPi = Mathf.PI * 0.5f;
            float angle;
            prefab = (GameObject)ab.LoadAsset("FishCoin");
            GameObject coin;
            Vector3    pos;

            List <GameObject> coinList = new List <GameObject>();

            for (int i = 0; i < num; i++)
            {
                angle = Random.Range(0f, halfPi) * 4f;
                coin  = ((GameObject)GameMain.instantiate(prefab));
                coin.transform.SetParent(root, false);
                coin.transform.localPosition = center;
                pos = center + new Vector3(Mathf.Sin(angle), Mathf.Cos(angle)) * Random.Range(0f, radius);
                coin.transform.DOLocalMove(pos, 0.5f);
                //DebugLog.Log(i + ": angle:" + angle + " pos:" + pos);

                coinList.Add(coin);
                game.m_AddItems.Add(coin);

                yield return(new WaitForEndOfFrame());
            }

            yield return(new WaitForSecondsRealtime(1f));

            CustomAudioDataManager.GetInstance().PlayAudio(1002);

            float flyTime = 0.5f;

            foreach (GameObject obj in coinList)
            {
                if (obj == null)
                {
                    continue;
                }

                Vector3 dir   = targetPos - obj.transform.localPosition;
                Vector3 speed = new Vector3(dir.x / flyTime, 0f);
                float   a     = dir.y * 2f / (flyTime * flyTime);

                DOTween.To(() => obj.transform.localPosition,
                           r =>
                {
                    obj.transform.localPosition += (speed * Time.unscaledDeltaTime);
                    speed.y = speed.y + a * Time.unscaledDeltaTime;
                },
                           targetPos, flyTime);
            }

            yield return(new WaitForSecondsRealtime(flyTime));

            foreach (GameObject obj in coinList)
            {
                if (obj == null)
                {
                    continue;
                }

                game.m_AddItems.Remove(obj);
                Destroy(obj);
            }
        }

        if (big != null)
        {
            game.m_AddItems.Remove(big);
            Destroy(big);
        }
    }
Exemple #12
0
    public void OnStateChange(BlackRoomState_Enum state)
    {
        if (m_eRoomState == state)
        {
            return;
        }

        DebugLog.Log(string.Format("room state change: ({0}->{1})", m_eRoomState, state));

        //OnQuitSate
        switch (m_eRoomState)
        {
        case BlackRoomState_Enum.BlackRoomState_ChipIn:
        {
            if (m_BjGameBase.m_nLocalPlayerSit < RoomInfo.PlayerNum)
            {
                CustomAudioDataManager.GetInstance().PlayAudio(1006);
            }

            foreach (Black_Player player in m_PlayerList)
            {
                player.OnLocalPlayerSit(false, m_BjGameBase.m_nLocalPlayerSit);
            }
        }
        break;

        default:
            break;
        }


        m_eRoomState = state;

        //OnEnterState
        switch (m_eRoomState)
        {
        case BlackRoomState_Enum.BlackRoomState_WaitBoss:
        {
            foreach (Black_Player player in m_PlayerList)
            {
                player.OnLocalPlayerSit(true, m_BjGameBase.m_nLocalPlayerSit);
            }
        }
        break;

        case BlackRoomState_Enum.BlackRoomState_ChipIn:
        {
            m_fCountTime = m_fStateTime = BlackJack_Data.GetInstance().m_fChipInTime;

            foreach (Black_Player player in m_PlayerList)
            {
                player.OnLocalPlayerSit(true, m_BjGameBase.m_nLocalPlayerSit, true);
            }
        }
        break;

        case BlackRoomState_Enum.BlackRoomState_DealCards:
        {
            m_fCountTime = m_fStateTime = BlackJack_Data.GetInstance().m_fAskNeedTime;
        }
        break;

        case BlackRoomState_Enum.BlackRoomState_BuySafe:
        {
            m_fCountTime = m_fStateTime = BlackJack_Data.GetInstance().m_fBuySafeTime;
        }
        break;

        case BlackRoomState_Enum.BlackRoomState_End:
        {
            OnEnd();
        }
        break;

        default:
        {
            m_fCountTime = 0.0f;
        }
        break;
        }
    }
Exemple #13
0
 void TimeUpWarn()
 {
     CustomAudioDataManager.GetInstance().PlayAudio(1009);
 }