Example #1
0
    /// <summary>
    /// 获取JPBoss和战车Npc的血值数据.
    /// </summary>
    internal void GetTotalHealthData(SSCaiPiaoDataManage.GameCaiPiaoData.DaiJinQuanState type)
    {
        m_CurrentDaiJinQuanState = type;
        float caiChiVal             = XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GameCaiPiaoData.GetCaiChiData(type);
        float caiChiChuPiaoTiaoJian = XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GameCaiPiaoData.GetChuPiaoTiaoJian(type);
        //彩池是否足够.
        bool isCaiChiZuGou = caiChiVal - caiChiChuPiaoTiaoJian >= 0f ? true : false;
        //if (type == SSCaiPiaoDataManage.GameCaiPiaoData.DaiJinQuanState.JPBossDaiJinQuan)
        //{
        //    SSDebug.LogWarning("caiChiVal =========== " + caiChiVal + ", caiChiChuPiaoTiaoJian ============= " + caiChiChuPiaoTiaoJian);
        //}

        float baoJiangLv = XKGlobalData.GetInstance().GetDaiJinQuanBaoJiangLv(type);
        float randVal    = Random.Range(0f, 100f) / 100f;
        //是否爆奖.
        bool isDaiJinQuanBaoJiang = randVal < baoJiangLv ? true : false;

        if (SSGameLogoData.m_GameDaiJinQuanMode == SSGameLogoData.GameDaiJinQuanMode.HDL_CaiPinQuan)
        {
            //海底捞菜品券游戏.
            if (SSHaiDiLaoBaoJiang.GetInstance() != null)
            {
                isDaiJinQuanBaoJiang = SSHaiDiLaoBaoJiang.GetInstance().GetIsCanJiBaoNpc(type);
            }
        }

        //isCaiChiZuGou = false; //test
        //SSDebug.LogWarning("isDaiJinQuanBaoJiang == " + isDaiJinQuanBaoJiang + ", randVal == " + randVal + ", baoJiangLv == " + baoJiangLv);
        if (isCaiChiZuGou == true && isDaiJinQuanBaoJiang == true)
        {
            //可以爆奖.
            int indexVal = Random.Range(0, 100) % m_BaoJiangHealthDt.Length;
            if (m_TestBaoJiangData != null)
            {
                if (m_TestBaoJiangData.IsOpenTest == true)
                {
                    if (m_TestBaoJiangData.IndexHealth >= 0 && m_TestBaoJiangData.IndexHealth <= 2)
                    {
                        //测试数据信息.
                        indexVal = m_TestBaoJiangData.IndexHealth;
                    }
                }
            }
            m_CurrentTotalHealthDt = m_BaoJiangHealthDt[indexVal];
        }
        else
        {
            //不可以爆奖.
            int indexVal = Random.Range(0, 100) % m_NoBaoJiangHealthDt.Length;
            if (m_TestBaoJiangData != null)
            {
                if (m_TestBaoJiangData.IsOpenTest == true)
                {
                    if (m_TestBaoJiangData.IndexHealth >= 0 && m_TestBaoJiangData.IndexHealth <= 2)
                    {
                        //测试数据信息.
                        indexVal = m_TestBaoJiangData.IndexHealth;
                    }
                }
            }
            m_CurrentTotalHealthDt = m_NoBaoJiangHealthDt[indexVal];
        }
        //SSDebug.Log("GetTotalHealData -> m_CurentTotalHealthDt == " + m_CurrentTotalHealthDt.ToString());
    }
 private void Awake()
 {
     _Instance = this;
     Init();
 }
        /// <summary>
        /// 更新所有服务器配置数据.
        /// </summary>
        internal void UpdataAllServerConfigData()
        {
            //SSDebug.Log("UpdataAllServerConfigData...");
            if (XKGlobalData.GetInstance() != null)
            {
                //更新游戏弹幕信息.
                if (GameDanMuInfo.Length > 10)
                {
                    GameDanMuInfo = GameDanMuInfo.Substring(0, 10);
                }
                XKGlobalData.GetInstance().UpdateDanMuInfo(GameDanMuInfo);
            }

            if (XkPlayerCtrl.GetInstanceFeiJi() != null &&
                XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage != null &&
                XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage != null &&
                XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GameCaiPiaoData != null)
            {
                //更新代金券奖池相关数据信息.
                SSCaiPiaoDataManage.GameCaiPiaoData gmCaiPiaoData = XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GameCaiPiaoData;
                float chuCaiLv = SuiJiDaoJuChuPiaoLv + ZhanCheChuPiaoLv_01 + ZhanCheChuPiaoLv_02 + JPBossChuPiaoLv;
                if (chuCaiLv > 1f)
                {
                    //出票率(返奖率)之和必须为1f.
                    JPBossChuPiaoLv     = 1f;
                    ZhanCheChuPiaoLv_01 = 0f;
                    ZhanCheChuPiaoLv_01 = 0f;
                    SuiJiDaoJuChuPiaoLv = 0f;
                }
                gmCaiPiaoData.UpdateChuPiaoLvInfo(SuiJiDaoJuChuPiaoLv, ZhanCheChuPiaoLv_01, ZhanCheChuPiaoLv_02, JPBossChuPiaoLv);
                gmCaiPiaoData.UpdateDaiJinQuanInfo(SuiJiDaoJuDaiJinQuan, ZhanCheDaiJinQuan_01, ZhanCheDaiJinQuan_02, JPBossDaiJinQuan);
                gmCaiPiaoData.UpdateDaiJinQuanCaiChiInfo(SuiJiDaoJuDeCai, ZhanCheDeCai_01, ZhanCheDeCai_02, JPBossDeCai);
                gmCaiPiaoData.UpdateJPBossDaiJinQuanShangHuZhiFu(JPBossDaiJinQuanShangHuZhiFu);

                if (XKGlobalData.GetInstance() != null)
                {
                    XKGlobalData.GetInstance().SetIsWuXianJiangChi(IsWuQiongDaJiangChiJPBossDaiJinQuan, SSCaiPiaoDataManage.GameCaiPiaoData.DaiJinQuanState.JPBossDaiJinQuan);
                    XKGlobalData.GetInstance().SetIsWuXianJiangChi(IsWuQiongDaJiangChiZhanCheDaiJinQuan_01, SSCaiPiaoDataManage.GameCaiPiaoData.DaiJinQuanState.ZhanCheDaiJinQuan_01);
                    XKGlobalData.GetInstance().SetIsWuXianJiangChi(IsWuQiongDaJiangChiZhanCheDaiJinQuan_02, SSCaiPiaoDataManage.GameCaiPiaoData.DaiJinQuanState.ZhanCheDaiJinQuan_02);
                    XKGlobalData.GetInstance().SetIsWuXianJiangChi(IsWuQiongDaJiangChiSuiJiDaoJuDaiJinQuan, SSCaiPiaoDataManage.GameCaiPiaoData.DaiJinQuanState.SuiJiDaoJuDaiJinQuan);
                }
            }

            if (pcvr.GetInstance().m_HongDDGamePadInterface != null)
            {
                //更新游戏免费试玩信息.
                pcvr.GetInstance().m_HongDDGamePadInterface.UpdateMianFeiCountInfo(MianFeiShiWanCount);
                XKGlobalData.GetInstance().SetMianFeiShiWanCount(MianFeiShiWanCount);

                //更新游戏一币等于多少人民币的信息.
                pcvr.GetInstance().m_HongDDGamePadInterface.UpdateGameCoinToMoney(GameCoinToMoney);
            }

            //设置游戏彩池返奖率信息.
            XKGlobalData.GetInstance().SetCaiChiFanJiangLv(CaiChiFanJiangLv);

            //设置游戏彩池爆奖率信息.
            XKGlobalData.GetInstance().SetCaiChiBaoJiangLv(SuiJiDaoJuBaoJiangLv, ZhanCheBaoJiangLv_01, ZhanCheBaoJiangLv_02, JPBossBaoJiangLv);
            if (SSHaiDiLaoBaoJiang.GetInstance() != null)
            {
                SSHaiDiLaoBaoJiang.GetInstance().UpdateBaoJiangDt(SSCaiPiaoDataManage.GameCaiPiaoData.DaiJinQuanState.JPBossDaiJinQuan, (int)JPBossBaoJiangLv);
                SSHaiDiLaoBaoJiang.GetInstance().UpdateBaoJiangDt(SSCaiPiaoDataManage.GameCaiPiaoData.DaiJinQuanState.ZhanCheDaiJinQuan_01, (int)ZhanCheBaoJiangLv_01);
                SSHaiDiLaoBaoJiang.GetInstance().UpdateBaoJiangDt(SSCaiPiaoDataManage.GameCaiPiaoData.DaiJinQuanState.ZhanCheDaiJinQuan_02, (int)ZhanCheBaoJiangLv_02);
                SSHaiDiLaoBaoJiang.GetInstance().UpdateBaoJiangDt(SSCaiPiaoDataManage.GameCaiPiaoData.DaiJinQuanState.SuiJiDaoJuDaiJinQuan, (int)SuiJiDaoJuBaoJiangLv);
            }
        }
    /// <summary>
    /// 创建随机道具.
    /// </summary>
    public void CreatSuiJiDaoJu(PlayerEnum indexPlayer)
    {
        if (!IsCreatSuiJiDaoJu)
        {
            return;
        }

        int indexVal = (int)indexPlayer - 1;

        if (indexVal < 0 || indexVal > 2)
        {
            return;
        }

        //if (XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_PlayerCoinData[indexVal].XuBiVal <= 0)
        //{
        //    //不是续币玩家.
        //    return;
        //}

        if (!XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GameCaiPiaoData.GetIsChuCaiPiaoByDeCaiState(SSCaiPiaoDataManage.GameCaiPiaoData.DeCaiState.SuiJiDaoJu))
        {
            //随机道具彩池的彩票积累的不够.
            return;
        }

        if (SSGameLogoData.m_GameDaiJinQuanMode == SSGameLogoData.GameDaiJinQuanMode.HDL_CaiPinQuan)
        {
            //海底捞菜品券版本游戏.
            if (SSHaiDiLaoBaoJiang.GetInstance() != null)
            {
                if (SSHaiDiLaoBaoJiang.GetInstance().GetIsCanJiBaoNpc(SSCaiPiaoDataManage.GameCaiPiaoData.DaiJinQuanState.SuiJiDaoJuDaiJinQuan) == false)
                {
                    //不允许发出随机道具.
                    return;
                }
            }
        }

        bool isUseOldMethod = false;

        if (isUseOldMethod == true)
        {
            if (Random.Range(0f, 100f) / 100f > 0.4f)
            {
                //没有随机上产生随机道具.
                return;
            }

            if (XkGameCtrl.GetInstance().GetIsCreateSuiJiDaoJu() == false)
            {
                //产生随机道具的间隔时间未到.
                return;
            }
        }
        else
        {
            if (XkGameCtrl.GetInstance().GetIsCreateSuiJiDaoJu(indexPlayer) == false)
            {
                //产生随机道具的间隔时间未到.
                return;
            }
        }
        //UnityLog("CreatSuiJiDaoJu....................");

        GameObject suiJiDaoJuPrefab = XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.GetSuiJiDaoJuPrefab(indexPlayer);

        if (suiJiDaoJuPrefab != null)
        {
            GameObject obj = (GameObject)Instantiate(suiJiDaoJuPrefab, XkGameCtrl.GetInstance().DaoJuArray, transform);
            if (obj != null)
            {
                BuJiBaoCtrl buJiBao = obj.GetComponent <BuJiBaoCtrl>();
                if (buJiBao != null)
                {
                    buJiBao.IsCaiPiaoDaoJu = true;
                    buJiBao.SetIsSpawnDaoJu(indexPlayer);
                    buJiBao.DelayRemoveSelf(indexPlayer);
                }

                //SSCaiPiaoSuiJiDaoJu suiJiDaoJu = obj.GetComponent<SSCaiPiaoSuiJiDaoJu>();
                //if (suiJiDaoJu != null)
                //{
                //    suiJiDaoJu.CreatLiZi(indexPlayer);
                //}
                //else
                //{
                //    UnityLogWarning("CreatSuiJiDaoJu -> SSCaiPiaoSuiJiDaoJu was null..........");
                //}
            }
        }
        else
        {
            UnityLogWarning("CreatSuiJiDaoJu -> suiJiDaoJuPrefab was null!");
        }
    }