/// <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 GameObject GetSuiJiDaoJuPrefab(PlayerEnum index) { SuiJiDaoJuState type = SuiJiDaoJuState.TouZi; GameObject obj = null; //SSCaiPiaoSuiJiDaoJu suiJiDaoJu = null; float rv = UnityEngine.Random.Range(0, 100) / 100f; if (rv < m_SuiJiDaoJuData.TouZiGaiLv) { obj = m_SuiJiDaoJuData.TouZiPrefab; //if (obj != null) //{ // suiJiDaoJu = obj.GetComponent<SSCaiPiaoSuiJiDaoJu>(); // if (suiJiDaoJu != null) // { // suiJiDaoJu.DaoJuType = SuiJiDaoJuState.TouZi; // } // else // { // UnityLogWarning("GetSuiJiDaoJuPrefab -> suiJiDaoJu was null.........."); // } //} } else { type = SuiJiDaoJuState.BaoXiang; obj = m_SuiJiDaoJuData.BaoXiangPrefab; //if (obj != null) //{ // suiJiDaoJu = obj.GetComponent<SSCaiPiaoSuiJiDaoJu>(); // if (suiJiDaoJu != null) // { // suiJiDaoJu.DaoJuType = SuiJiDaoJuState.BaoXiang; // } // else // { // UnityLogWarning("GetSuiJiDaoJuPrefab -> suiJiDaoJu was null.........."); // } //} } m_GameCaiPiaoData.SubGameDeCaiValByDeCaiState(index, GameCaiPiaoData.DeCaiState.SuiJiDaoJu, type); return(obj); }
/// <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); } }