/// <summary>
        /// 判断是否达到某种得彩类型的出彩条件.
        /// </summary>
        public bool GetIsChuCaiPiaoByDeCaiState(DeCaiState type)
        {
            bool  isChuPiao       = false;
            int   coinToCaiPiao   = XKGlobalData.GetInstance().m_CoinToCard *XKGlobalData.GameNeedCoin;
            float chuPiaoTiaoJian = 0f;
            int   deCaiVal        = -1;

            switch (type)
            {
            case DeCaiState.ZhanChe:
            {
                chuPiaoTiaoJian = ZhanCheChuPiaoTiaoJian;
                deCaiVal        = ZhanCheDeCai;
                break;
            }

            case DeCaiState.SuiJiDaoJu:
            {
                chuPiaoTiaoJian = SuiJiDaoJuChuPiaoTiaoJian;
                deCaiVal        = SuiJiDaoJuDeCai;
                break;
            }

            case DeCaiState.JPBoss:
            {
                chuPiaoTiaoJian = JPBossChuPiaoTiaoJian;
                deCaiVal        = JPBossDeCai;
                break;
            }
            }

            int chuCaiVal = (int)(coinToCaiPiao * chuPiaoTiaoJian);

            if (XkGameCtrl.GetInstance().m_CaiPiaoMode == XkGameCtrl.CaiPiaoModeSuanFa.GuDing &&
                XkPlayerCtrl.GetInstanceFeiJi() != null)
            {
                switch (type)
                {
                case DeCaiState.ZhanChe:
                {
                    chuCaiVal = XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GuDingBanCaiPiaoData.ZhanCheDeCai;
                    break;
                }

                case DeCaiState.JPBoss:
                {
                    chuCaiVal = XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GuDingBanCaiPiaoData.GetJPBossChuPiaoTiaoJian();
                    break;
                }
                }
            }

            if (deCaiVal >= chuCaiVal)
            {
                isChuPiao = true;
                //Debug.Log("Unity: GetIsChuCaiPiaoBy -> the type is can shuCaiPiao! type ============ " + type);
            }
            return(isChuPiao);
        }
        /// <summary>
        /// 获取需要打印的彩票数量.
        /// </summary>
        public int GetPrintCaiPiaoValueByDeCaiState(DeCaiState type, SuiJiDaoJuState suiJiDaoJuType = SuiJiDaoJuState.BaoXiang)
        {
            int value     = 0;
            int coinStart = XKGlobalData.GetInstance().m_CoinToCard *XKGlobalData.GameNeedCoin;

            switch (type)
            {
            case DeCaiState.ZhanChe:
            {
                if (XkGameCtrl.GetInstance().m_CaiPiaoMode == XkGameCtrl.CaiPiaoModeSuanFa.GuDing)
                {
                    value = XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GuDingBanCaiPiaoData.ZhanCheDeCai;
                }
                else
                {
                    value = (int)(coinStart * ZhanCheChuPiaoTiaoJian);
                }
                break;
            }

            case DeCaiState.SuiJiDaoJu:
            {
                float          suiJiDaoJuChuPiaoLv = 0f;
                SuiJiDaoJuData suiJiDaoJuData      = XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_SuiJiDaoJuData;
                if (suiJiDaoJuType == SuiJiDaoJuState.TouZi)
                {
                    suiJiDaoJuChuPiaoLv = suiJiDaoJuData.TouZiDePiaoLv;
                }
                else
                {
                    suiJiDaoJuChuPiaoLv = suiJiDaoJuData.BaoXiangDePiaoLv;
                }
                value = (int)(coinStart * SuiJiDaoJuChuPiaoTiaoJian);
                //应该给玩家的彩票数量.
                value = (int)(value * suiJiDaoJuChuPiaoLv);
                break;
            }

            case DeCaiState.JPBoss:
            {
                if (XkGameCtrl.GetInstance().m_CaiPiaoMode == XkGameCtrl.CaiPiaoModeSuanFa.GuDing)
                {
                    value = XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GuDingBanCaiPiaoData.GetJPBossChuPiaoTiaoJian();
                }
                else
                {
                    value = (int)(coinStart * JPBossChuPiaoTiaoJian);
                }
                break;
            }
            }
            return(value);
        }
        /// <summary>
        /// 获取当前彩池是出票条件的几倍.
        /// </summary>
        public int GetChuPiaoTiaoJianBeiShu(DeCaiState type)
        {
            int   chuPiaoBeiShu   = 0;
            int   coinToCaiPiao   = XKGlobalData.GetInstance().m_CoinToCard *XKGlobalData.GameNeedCoin;
            float chuPiaoTiaoJian = 0f;
            int   deCaiVal        = -1;

            switch (type)
            {
            case DeCaiState.ZhanChe:
            {
                chuPiaoTiaoJian = ZhanCheChuPiaoTiaoJian;
                deCaiVal        = ZhanCheDeCai;
                break;
            }

            case DeCaiState.SuiJiDaoJu:
            {
                chuPiaoTiaoJian = SuiJiDaoJuChuPiaoTiaoJian;
                deCaiVal        = SuiJiDaoJuDeCai;
                break;
            }

            case DeCaiState.JPBoss:
            {
                chuPiaoTiaoJian = JPBossChuPiaoTiaoJian;
                deCaiVal        = JPBossDeCai;
                break;
            }
            }

            int chuCaiVal = (int)(coinToCaiPiao * chuPiaoTiaoJian);

            chuPiaoBeiShu = deCaiVal / chuCaiVal;
            return(chuPiaoBeiShu);
        }
        /// <summary>
        /// 减去游戏某种类型得彩累积数量.
        /// </summary>
        public void SubGameDeCaiValByDeCaiState(PlayerEnum index, DeCaiState type, SuiJiDaoJuState suiJiDaoJuType = SuiJiDaoJuState.BaoXiang)
        {
            if (XkGameCtrl.GetInstance().m_GamePlayerAiData.IsActiveAiPlayer == true)
            {
                //没有激活任何玩家.
                return;
            }

            int val       = 0;
            int coinStart = XKGlobalData.GetInstance().m_CoinToCard *XKGlobalData.GameNeedCoin;

            switch (type)
            {
            case DeCaiState.ZhanChe:
            {
                if (XkGameCtrl.GetInstance().m_CaiPiaoMode == XkGameCtrl.CaiPiaoModeSuanFa.GuDing)
                {
                    val = XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GuDingBanCaiPiaoData.ZhanCheDeCai;
                }
                else
                {
                    val = (int)(coinStart * ZhanCheChuPiaoTiaoJian);
                }
                ZhanCheDeCai -= val;
                //从预制彩池里取彩票投入战车彩池.
                XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GameYuZhiCaiPiaoData.SubZhanCheCaiPiaoVal();
                break;
            }

            case DeCaiState.SuiJiDaoJu:
            {
                //随机道具.
                float          suiJiDaoJuChuPiaoLv = 0f;
                SuiJiDaoJuData suiJiDaoJuData      = XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_SuiJiDaoJuData;
                if (suiJiDaoJuType == SuiJiDaoJuState.TouZi)
                {
                    suiJiDaoJuChuPiaoLv = suiJiDaoJuData.TouZiDePiaoLv;
                }
                else
                {
                    suiJiDaoJuChuPiaoLv = suiJiDaoJuData.BaoXiangDePiaoLv;
                }
                val = (int)(coinStart * SuiJiDaoJuChuPiaoTiaoJian);

                //应该给玩家的彩票数量.
                int outCaiPiao = (int)(val * suiJiDaoJuChuPiaoLv);

                //随机道具积累到预支彩票池的彩票数量.
                int jiLeiToYuZhiCaiPiaoChiVal = val - outCaiPiao;
                XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GameYuZhiCaiPiaoData.AddYuZhiCaiPiao(jiLeiToYuZhiCaiPiaoChiVal);

                val              = outCaiPiao;
                SuiJiDaoJuDeCai -= val;
                break;
            }

            case DeCaiState.JPBoss:
            {
                if (XkGameCtrl.GetInstance().m_CaiPiaoMode == XkGameCtrl.CaiPiaoModeSuanFa.GuDing)
                {
                    val = XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GuDingBanCaiPiaoData.GetJPBossChuPiaoTiaoJian();
                }
                else
                {
                    val = (int)(coinStart * JPBossChuPiaoTiaoJian);
                }
                JPBossDeCai -= val;
                //从预制彩池里取彩票投入JPBoss彩池.
                XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.m_GameYuZhiCaiPiaoData.SubJPBossCaiPiaoVal();
                break;
            }
            }

            if (val > 0)
            {
                //此时彩票机应该给对应玩家出val张彩票.
                Debug.Log("Unity: SubGameDeCaiValByDeCaiState -> index ====== " + index
                          + ", chuPiaoVal ====== " + val
                          + ", type ======= " + type);
                XkPlayerCtrl.GetInstanceFeiJi().m_SpawnNpcManage.m_CaiPiaoDataManage.AddCaiPiaoToPlayer(index, val, type);
            }
        }