コード例 #1
0
ファイル: WGBearManage.cs プロジェクト: linbozhang/ThrowCoin
    int GetNextBearID(WGBearPanel bp)
    {
//		//WG.SLog("++"+_ShareWorld.bBossResurrection +"===level="+dataCtrl.GetBearParam(WGDefine.BossID).unlock);

//		//WG.SLog("GetNextBearID==="+_curBearNum+"===="+_MaxNum);

        if (_curBearNum >= _MaxNum)
        {
            BearDead(bp.transform);
            return(-1);
        }

        if ((bp.right != null && szBigBear.Contains(bp.right.id)) || (bp.left != null && szBigBear.Contains(bp.left.id)))
        {
            if (!_bDonotNeedCoin && bp.index % 2 == 0 && Random.Range(0, 100) > 50)
            {
                BearDead(bp.transform);
                return(-1);
            }

            return(dataCtrl.GetRandomBearID());
        }


        if (_ShareWorld.bBossResurrection && _dataPlayer.Level >= dataCtrl.GetBearParam(WGDefine.BossID).unlock &&
            _bearBoss == null && !szLiveBearID.Contains(WGDefine.BossID))
        {
            _ShareWorld.bBossResurrection = false;

            BCSoundPlayer.Play(MusicEnum.bossLaugh);


            for (int i = 0; i < 5; i++)
            {
                StartCoroutine(showBoosTips(i * 0.5f));
            }

            return(WGDefine.BossID);
        }


        if (_dataPlayer.szPayObjID.Contains(WGDefine.PayBear1) &&
            !szLiveBearID.Contains(WGDefine.PayBear1))
        {
            return(WGDefine.PayBear1);
        }
        if (_dataPlayer.szPayObjID.Contains(WGDefine.PayBear2) &&
            !szLiveBearID.Contains(WGDefine.PayBear2))
        {
            return(WGDefine.PayBear2);
        }

        if (!_bDonotNeedCoin && bp.index % 2 == 0 && Random.Range(0, 100) > 50)
        {
            BearDead(bp.transform);
            return(-1);
        }

        return(dataCtrl.GetRandomBearID());
    }
コード例 #2
0
ファイル: WGBearManage.cs プロジェクト: linbozhang/ThrowCoin
    void ResetAllBear()
    {
        dataCtrl.freshUnLockBearWith(_dataPlayer.Level);

        float angleDelta = 360 / _Num;

        GameObject  tem;
        WGBearPanel preBear = null;
        float       rr      = 0;

        for (int i = 0; i < _Num; i++)
        {
            tem      = new GameObject();
            tem.name = "bear" + i;
            WGBearPanel bp = tem.AddComponent <WGBearPanel>();

            szBearPanel.Add(bp);
            if (preBear != null)
            {
                preBear.right = bp;
                bp.left       = preBear;
            }
            preBear = bp;
            if (i == _Num - 1)
            {
                bp.right            = szBearPanel[0];
                szBearPanel[0].left = bp;
            }
            bp.index = i;

            tem.transform.rotation = Quaternion.Euler(0, angleDelta * i + 180, 0);
            tem.transform.parent   = BearRoot.transform;

            rr = Mathf.PI / 2 + i * angleDelta * Mathf.PI / 180f;

            tem.transform.localPosition = new Vector3(-fRadiou * Mathf.Cos(rr), -fRadiou * Mathf.Sin(rr), 0) + tTurnplateCenter.localPosition;


            //int id  = 5001+i;
            int id = GetNextBearID(bp);

            bp.id = id;

            CreateBearWith(id, tem.transform);
        }
    }