private void ClickTVYaoKongEnterBtEvent(InputEventCtrl.ButtonState val) { if (val == InputEventCtrl.ButtonState.DOWN) { return; } if (SSGameDataCtrl.GetInstance().m_SSUIRoot.m_ExitGameUI != null) { //退出游戏界面存在时,不响应消息. return; } if (!gameObject.activeSelf) { return; } UnityLog("LanKuangFangDaDingBu -> ClickTVYaoKongEnterBtEvent..."); if (SSGameDataCtrl.GetInstance().m_SSUIRoot.m_LanKuangFangDa == null) { SSGameDataCtrl.PlayerIndex index = SSGameDataCtrl.GetInstance().m_CreatLanQiuStage.GetPlayerIndexDaoJu(); SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnGameLanKuangFangDaPanel(index); } }
internal void Init(SSGameDataCtrl.PlayerIndex index) { m_PlayerIndex = index; if (index != SSGameDataCtrl.PlayerIndex.Null) { SSGameDataCtrl.GetInstance().m_PlayerData[(int)index].IsActiveLianJiWaitUI = true; } InputEventCtrl.GetInstance().OnClickStartBtEvent += OnClickStartBtEvent; }
public void Init(SSGameDataCtrl.PlayerIndex index) { m_PlayerIndex = index; SSGameDataCtrl.GetInstance().m_PlayerData[(int)index].m_GameMode = SSGameDataCtrl.GameMode.DanJi; SSGameDataCtrl.GetInstance().m_PlayerData[(int)index].IsChooseGameMode = false; //SetAnimationModeSelect(true); InputEventCtrl.GetInstance().OnClickStartBtEvent += OnClickStartBtEvent; InputEventCtrl.GetInstance().OnClickLeftHorBtEvent += OnClickLeftHorBtEvent; InputEventCtrl.GetInstance().OnClickRightHorBtEvent += OnClickRightHorBtEvent; }
// Use this for initialization public void Init(SSGameDataCtrl.PlayerIndex indexVal) { m_PlayerIndex = indexVal; IndexXuanXiang = (int)m_XuanXiangState; SetActiveQuXiaoKuang(false); InputEventCtrl.GetInstance().ClickTVYaoKongEnterBtEvent += ClickTVYaoKongEnterBtEvent; InputEventCtrl.GetInstance().ClickTVYaoKongLeftBtEvent += ClickTVYaoKongLeftBtEvent; InputEventCtrl.GetInstance().ClickTVYaoKongRightBtEvent += ClickTVYaoKongRightBtEvent; InputEventCtrl.GetInstance().ClickTVYaoKongUpBtEvent += ClickTVYaoKongUpBtEvent; InputEventCtrl.GetInstance().ClickTVYaoKongDownBtEvent += ClickTVYaoKongDownBtEvent; }
/// <summary> /// 播放玩家接球失误时的动画. /// </summary> public void PlayFuHuoCiShuAni(SSGameDataCtrl.PlayerIndex index) { if (index == SSGameDataCtrl.PlayerIndex.Null) { return; } if (m_FuHuoCiShuAni[(int)index] != null) { m_FuHuoCiShuAni[(int)index].SetTrigger("IsPlay"); } }
internal void Init(SSGameDataCtrl.PlayerIndex indexVal) { SSGameDataCtrl.GetInstance().m_PlayerData[(int)indexVal].m_GameScoreCom = this; SetActiveDeFenWang(false); ShowPlayerScore(SSGameDataCtrl.GetInstance().m_PlayerData[(int)indexVal].Score); if (m_UIPosTr != null && m_UIPosX.Length > (int)indexVal) { //动态修改UI坐标. Vector3 posTmp = m_UIPosTr.localPosition; posTmp.x = m_UIPosX[(int)indexVal]; m_UIPosTr.localPosition = posTmp; } }
internal void Init(SSGameDataCtrl.PlayerIndex indexVal, int score) { m_PlayerIndex = indexVal; ShowPlayerScore(score); //添加延迟删除时间事件. SSTimeUpCtrl timeUpCom = gameObject.AddComponent <SSTimeUpCtrl>(); timeUpCom.OnTimeUpOverEvent += OnTimeUpOverEvent; timeUpCom.Init(m_TimeDestroy); if (m_WeiXinHead != null) { m_WeiXinHead.Init(indexVal); } }
/// <summary> /// 处理是否重新开始游戏界面(是否继续游戏界面)按键事件. /// </summary> void HandleShiFouChongXinKaiShiEnterBtEvent() { UnityLog("HandleShiFouChongXinKaiShiBtEvent -> m_BtState ==== " + m_BtState); SSGameDataCtrl.PlayerIndex indexPlayerReverse = SSGameDataCtrl.GetInstance().GetReversePlayerIndex(m_PlayerIndex); switch (m_BtState) { case BtState.TongYi: { //同意重新开始游戏(继续游戏). SetIsLockPanel(true); //产生重新开始游戏的支付界面(继续游戏支付界面). SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnGameShiFouChongXinKaiShi_ZhiFuPanel(m_PlayerIndex); break; } case BtState.JuJue: { //重置该玩家的微信头像url信息. SSGameDataCtrl.GetInstance().m_PlayerData[(int)m_PlayerIndex].PlayerHeadUrl = ""; //刷新pcvr玩家信息. pcvr.GetInstance().SetIndexPlayerActiveGameState((int)m_PlayerIndex, (byte)pcvr.PlayerActiveState.WeiJiHuo); //清理最后一个结束游戏玩家的数据. SSGameDataCtrl.GetInstance().CleanLastOverPlayerData(); //拒绝重新开始游戏(继续游戏). SSGameDataCtrl.GetInstance().m_SSUIRoot.RemoveGameShiFouChongXinKaiShiPanel(); if (SSGameDataCtrl.GetInstance().m_PlayerData[(int)indexPlayerReverse].IsActiveGame) { //对方激活游戏. //删除对方不应战,继续等待UI. SSGameDataCtrl.GetInstance().m_SSUIRoot.RemoveDuiFangBuYingZhan_JiXuDengDai(); //删除等待对方本场游戏结束UI. SSGameDataCtrl.GetInstance().m_SSUIRoot.RemoveDengDuiFangJieShu(); //对方已离开,切换为单人模式. SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnDuiFangYiLiKai_QieWeiDanRen(indexPlayerReverse); //提示购买复活币. //SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnGameFuHuoDaoJuPanel(indexPlayerReverse); //产生二维码界面. SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnPlayerErWeiMa(m_PlayerIndex); } else { //对方未激活游戏. SSGameDataCtrl.GetInstance().CheckCreateGameErWeiMa(m_PlayerIndex); } //玩家回到游戏前. SSGameDataCtrl.GetInstance().m_PlayerData[(int)m_PlayerIndex].GameState = SSGameDataCtrl.PlayerGameState.YouXiQian; break; } } }
/// <summary> /// 检测产生道具购买UI界面. /// </summary> public void CheckSpawnDaoJuGouMaiUI() { SSGameDataCtrl.PlayerIndex index = GetPlayerIndexDaoJu(); if (IndexCreatBallJieDuan == SSGameDataCtrl.GetInstance().IndexJieDuanFangDaLanKuang - 1) { //创建篮筐放大道具购买界面. SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnGameLanKuangFangDaPanel(index); } if (IndexCreatBallJieDuan == SSGameDataCtrl.GetInstance().IndexJieDuanLanQiuJianSu - 1) { //创建篮球减速道具购买界面. SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnGameLanQiuJianSuPanel(index); } }
internal void Init(SSGameDataCtrl.PlayerIndex indexVal) { m_PlayerIndex = indexVal; if (indexVal == SSGameDataCtrl.PlayerIndex.Null) { SSGameDataCtrl.GetInstance().IsActiveDeFenWangUI = true; SSGameDataCtrl.GetInstance().IsActiveGameLinkRankUI = true; for (int i = 0; i < SSGameDataCtrl.GetInstance().m_PlayerData.Length; i++) { SSGameDataCtrl.GetInstance().m_PlayerData[i].IsJieShouTiaoZhan = true; SSGameDataCtrl.GetInstance().m_PlayerData[i].IsPlayGameDaoJiShi = true; SSGameDataCtrl.GetInstance().m_LanKuang[i].SetActiveRealBallKuang(true); } } else { SSGameDataCtrl.GetInstance().m_PlayerData[(int)indexVal].IsPlayGameDaoJiShi = true; SSGameDataCtrl.GetInstance().m_LanKuang[(int)indexVal].SetActiveRealBallKuang(true); } switch (indexVal) { case SSGameDataCtrl.PlayerIndex.Player01: { m_DaoJiShiUI[(int)SSGameDataCtrl.PlayerIndex.Player02].SetActive(false); break; } case SSGameDataCtrl.PlayerIndex.Player02: { m_DaoJiShiUI[(int)SSGameDataCtrl.PlayerIndex.Player01].SetActive(false); break; } } //设置篮球速度为正常. SSGameDataCtrl.GetInstance().SetLanQiuMoveSpeedType(SSGameDataCtrl.LanQiuMoveSpeed.Normal); //产生复活次数UI. SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnGameFuHuoCiShuPanel(indexVal); if (SSGameDataCtrl.GetInstance().m_LastOverPlayerData != null && SSGameDataCtrl.GetInstance().m_LastOverPlayerData.Index == m_PlayerIndex) { //显示继续游戏玩家的分数信息. SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnGameScoreUI(m_PlayerIndex); } }
public void RemoveSelf() { if (IsRemoveSelf) { return; } IsRemoveSelf = true; SSGameDataCtrl.PlayerIndex indexPlayerReverse = SSGameDataCtrl.GetInstance().GetReversePlayerIndex(m_PlayerIndex); if (SSGameDataCtrl.GetInstance().m_PlayerData[(int)indexPlayerReverse].IsActiveGame) { //对方激活了游戏. if (SSGameDataCtrl.GetInstance().m_PlayerData[(int)m_PlayerIndex].GameState == SSGameDataCtrl.PlayerGameState.YouXiQian) { //游戏前. //是否接受对方挑战. SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnGameShiFouJieShouTiaoZhanPanel(m_PlayerIndex); } else if (SSGameDataCtrl.GetInstance().m_PlayerData[(int)m_PlayerIndex].GameState == SSGameDataCtrl.PlayerGameState.YouXiZhong) { //游戏中. if (SSGameDataCtrl.GetInstance().m_PlayerData[(int)m_PlayerIndex].IsJieShouTiaoZhan) { //接受挑战对方. //产生开始双人PK提示. SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnKaiShiShuangRenPK(); } else { //拒绝挑战对方. //显示游戏倒计时界面. SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnGameDaoJiShiUI(m_PlayerIndex); } } } else { //对方没有激活游戏. //显示游戏倒计时界面. SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnGameDaoJiShiUI(m_PlayerIndex); } InputEventCtrl.GetInstance().ClickTVYaoKongEnterBtEvent -= ClickTVYaoKongEnterBtEvent; InputEventCtrl.GetInstance().ClickTVYaoKongLeftBtEvent -= ClickTVYaoKongLeftBtEvent; InputEventCtrl.GetInstance().ClickTVYaoKongRightBtEvent -= ClickTVYaoKongRightBtEvent; Destroy(gameObject); }
// Use this for initialization public void Init(SSGameDataCtrl.PlayerIndex indexVal, GameDlgState dlgState) { m_GameDlgState = dlgState; m_PlayerIndex = indexVal; IndexXuanXiang = (int)m_XuanXiangState; switch (dlgState) { case GameDlgState.FuHuoDaoJu_ZhiFu: { //初始化复活道具支付界面. if (m_ZhiFuJieMianData.ZhiFuCoinImg != null) { int indexImg = (int)SSGameDataCtrl.GetInstance().m_SSUIRoot.m_FuHuoDaoJu.m_XuanXiangState; m_ZhiFuJieMianData.ZhiFuCoinImg.mainTexture = m_ZhiFuJieMianData.m_ZhiFuYunBiImgArray[indexImg]; } break; } case GameDlgState.LanKuangFangDa_ZhiFu: { //初始化篮筐放大支付界面. if (m_ZhiFuJieMianData.ZhiFuCoinImg != null) { int indexImg = (int)SSGameDataCtrl.GetInstance().m_SSUIRoot.m_LanKuangFangDa.m_XuanXiangState; m_ZhiFuJieMianData.ZhiFuCoinImg.mainTexture = m_ZhiFuJieMianData.m_ZhiFuYunBiImgArray[indexImg]; } break; } case GameDlgState.LanQiuJianSu_ZhiFu: { //初始化篮球减速支付界面. if (m_ZhiFuJieMianData.ZhiFuCoinImg != null) { int indexImg = (int)SSGameDataCtrl.GetInstance().m_SSUIRoot.m_LanQiuJianSu.m_XuanXiangState; m_ZhiFuJieMianData.ZhiFuCoinImg.mainTexture = m_ZhiFuJieMianData.m_ZhiFuYunBiImgArray[indexImg]; } break; } } SSGameDataCtrl.GetInstance().CleanLanHuanExplosionToList(SSGameDataCtrl.PlayerIndex.Player01); SSGameDataCtrl.GetInstance().CleanLanHuanExplosionToList(SSGameDataCtrl.PlayerIndex.Player02); InputEventCtrl.GetInstance().ClickTVYaoKongEnterBtEvent += ClickTVYaoKongEnterBtEvent; InputEventCtrl.GetInstance().ClickTVYaoKongLeftBtEvent += ClickTVYaoKongLeftBtEvent; InputEventCtrl.GetInstance().ClickTVYaoKongRightBtEvent += ClickTVYaoKongRightBtEvent; }
/// <summary> /// 处理是否接受挑战界面按键事件. /// </summary> void HandleShiFouJieShouTiaoZhanEnterBtEvent() { UnityLog("HandleShiFouJieShouTiaoZhanBtEvent -> m_BtState ==== " + m_BtState); //删除等待对方同意PK. //SSGameDataCtrl.GetInstance().m_SSUIRoot.RemoveDengDaiDuiFangTongYiPK(); SSGameDataCtrl.PlayerIndex indexPlayerReverse = SSGameDataCtrl.GetInstance().GetReversePlayerIndex(m_PlayerIndex); switch (m_BtState) { case BtState.TongYi: { //接受挑战. SetIsLockPanel(true); //产生接受挑战支付界面. SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnGameShiFouJieShouTiaoZhan_ZhiFuPanel(m_PlayerIndex); break; } case BtState.JuJue: { //删除等待对方同意PK. SSGameDataCtrl.GetInstance().m_SSUIRoot.RemoveDengDaiDuiFangTongYiPK(); //拒绝挑战. SSGameDataCtrl.GetInstance().m_PlayerData[(int)m_PlayerIndex].IsJieShouTiaoZhan = false; if (SSGameDataCtrl.GetInstance().m_PlayerData[(int)m_PlayerIndex].GameState == SSGameDataCtrl.PlayerGameState.YouXiQian) { //游戏前. SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnDuiFangBuYingZhan_DengDuiFangJieShu(indexPlayerReverse); //显示游戏倒计时界面. SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnGameDaoJiShiUI(m_PlayerIndex); //删除购买挑战对方道具界面. SSGameDataCtrl.GetInstance().m_SSUIRoot.RemoveGameShiFouJieShouTiaoZhanPanel(); } else if (SSGameDataCtrl.GetInstance().m_PlayerData[(int)m_PlayerIndex].GameState == SSGameDataCtrl.PlayerGameState.YouXiZhong) { //游戏中. SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnDuiFangBuYingZhan_JiXuDengDai(indexPlayerReverse); //是否重新开始游戏(是否继续游戏). SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnGameShiFouChongXinKaiShiPanel(m_PlayerIndex); //删除购买挑战对方道具界面. SSGameDataCtrl.GetInstance().m_SSUIRoot.RemoveGameShiFouJieShouTiaoZhanPanel(); } break; } } }
public void PlayDaoJiShi(SSGameDataCtrl.PlayerIndex index, DaoJiShiState type, DaoJuState daoJu) { HiddenAllPlayerTime(); IsPlayTimeAni = true; m_DaoJuState = daoJu; m_PlayerIndex = index; RuntimeAnimatorController daoJiShiRuntime = m_RuntimeAniArray[(int)type]; switch (index) { case SSGameDataCtrl.PlayerIndex.Player01: { SetActivePlayerTime(SSGameDataCtrl.PlayerIndex.Player01, true); SetActivePlayerTime(SSGameDataCtrl.PlayerIndex.Player02, false); break; } case SSGameDataCtrl.PlayerIndex.Player02: { SetActivePlayerTime(SSGameDataCtrl.PlayerIndex.Player01, false); SetActivePlayerTime(SSGameDataCtrl.PlayerIndex.Player02, true); break; } case SSGameDataCtrl.PlayerIndex.Null: { bool isActiveP1 = SSGameDataCtrl.GetInstance().m_PlayerData[(int)SSGameDataCtrl.PlayerIndex.Player01].IsActiveGame; bool isActiveP2 = SSGameDataCtrl.GetInstance().m_PlayerData[(int)SSGameDataCtrl.PlayerIndex.Player02].IsActiveGame; SetActivePlayerTime(SSGameDataCtrl.PlayerIndex.Player01, isActiveP1); SetActivePlayerTime(SSGameDataCtrl.PlayerIndex.Player02, isActiveP2); break; } } if (m_Animator != null && daoJiShiRuntime != null) { m_Animator.runtimeAnimatorController = daoJiShiRuntime; m_Animator.enabled = true; } if (m_LanHuanUV != null) { m_LanHuanUV.InitPlayUVAni(type); } }
/// <summary> /// 显示玩家复活次数信息. /// </summary> public void ShowPlayerHealth(int health, SSGameDataCtrl.PlayerIndex index) { UISprite[] healthUI = null; switch (index) { case SSGameDataCtrl.PlayerIndex.Player01: { healthUI = m_HealthNumP1; break; } case SSGameDataCtrl.PlayerIndex.Player02: { healthUI = m_HealthNumP2; break; } } UnityLog("ShowPlayerHealth -> health == " + health + ", index == " + index); int valTmp = 0; string valStr = health.ToString(); for (int i = 0; i < 2; i++) { if (healthUI[i] == null) { continue; } if (valStr.Length > i) { healthUI[i].enabled = true; valTmp = health % 10; healthUI[i].spriteName = valTmp.ToString(); health = (int)(health / 10f); } else { healthUI[i].spriteName = "0"; } } }
private void OnClickStartBtEvent(SSGameDataCtrl.PlayerIndex index, InputEventCtrl.ButtonState val) { if (IsRemoveSelf) { return; } if (index != m_PlayerIndex) { return; } UnityLog("Player click backBt! index == " + index); if (index != SSGameDataCtrl.PlayerIndex.Null) { SSGameDataCtrl.GetInstance().m_PlayerData[(int)index].IsActiveLianJiWaitUI = false; } SSGameDataCtrl.GetInstance().m_SSUIRoot.RemoveGameLianJiWaitUI(index); SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnGameModeUI(index); }
private void OnClickLeftHorBtEvent(SSGameDataCtrl.PlayerIndex index, InputEventCtrl.ButtonState val) { if (IsRemoveSelf) { return; } if (val == InputEventCtrl.ButtonState.UP) { return; } if (index != m_PlayerIndex) { return; } if (Time.time - m_TimeLastBtEvent < 0.5f) { return; } m_TimeLastBtEvent = Time.time; switch (SSGameDataCtrl.GetInstance().m_PlayerData[(int)index].m_GameMode) { case SSGameDataCtrl.GameMode.LianJi: { SSGameDataCtrl.GetInstance().m_PlayerData[(int)index].m_GameMode = SSGameDataCtrl.GameMode.DanJi; break; } case SSGameDataCtrl.GameMode.DanJi: { SSGameDataCtrl.GetInstance().m_PlayerData[(int)index].m_GameMode = SSGameDataCtrl.GameMode.LianJi; break; } } SetAnimationModeSelect(true); UnityLog("player select " + SSGameDataCtrl.GetInstance().m_PlayerData[(int)index].m_GameMode + " mode. index == " + index + ", val == " + val); }
/// <summary> /// 获取道具界面产生的玩家索引. /// </summary> public SSGameDataCtrl.PlayerIndex GetPlayerIndexDaoJu() { SSGameDataCtrl.PlayerIndex index = SSGameDataCtrl.PlayerIndex.Null; int count = 0; for (int i = 0; i < SSGameDataCtrl.GetInstance().m_PlayerData.Length; i++) { if (SSGameDataCtrl.GetInstance().m_PlayerData[i].IsActiveGame && SSGameDataCtrl.GetInstance().m_PlayerData[i].IsCreateGameBall) { index = (SSGameDataCtrl.PlayerIndex)i; count++; } } if (count == SSGameDataCtrl.GetInstance().m_PlayerData.Length) { index = SSGameDataCtrl.PlayerIndex.Null; } return(index); }
// Use this for initialization public void Init(SSGameDataCtrl.PlayerIndex index) { switch (index) { case SSGameDataCtrl.PlayerIndex.Player01: case SSGameDataCtrl.PlayerIndex.Player02: { int health = SSGameDataCtrl.GetInstance().m_PlayerData[(int)index].PlayerHealth; SSGameDataCtrl.PlayerIndex playerIndexReverse = SSGameDataCtrl.GetInstance().GetReversePlayerIndex(index); SetActivePlayerHealth(playerIndexReverse, false); SetActivePlayerHealth(index, true); ShowPlayerHealth(health, index); if (m_WeiXinHead[(int)index] != null) { m_WeiXinHead[(int)index].Init(index); } break; } case SSGameDataCtrl.PlayerIndex.Null: { int healthP1 = SSGameDataCtrl.GetInstance().m_PlayerData[(int)SSGameDataCtrl.PlayerIndex.Player01].PlayerHealth; int healthP2 = SSGameDataCtrl.GetInstance().m_PlayerData[(int)SSGameDataCtrl.PlayerIndex.Player02].PlayerHealth; SetActivePlayerHealth(SSGameDataCtrl.PlayerIndex.Player01, true); SetActivePlayerHealth(SSGameDataCtrl.PlayerIndex.Player02, true); ShowPlayerHealth(healthP1, SSGameDataCtrl.PlayerIndex.Player01); ShowPlayerHealth(healthP2, SSGameDataCtrl.PlayerIndex.Player02); for (int i = 0; i < m_WeiXinHead.Length; i++) { if (m_WeiXinHead[i] != null) { m_WeiXinHead[i].Init((SSGameDataCtrl.PlayerIndex)i); } } break; } } }
private void OnClickRightHorBtEvent(SSGameDataCtrl.PlayerIndex index, InputEventCtrl.ButtonState val) { if (index == m_PlayerIndex) { switch (index) { case SSGameDataCtrl.PlayerIndex.Player01: { if (val == InputEventCtrl.ButtonState.DOWN) { GetInputHorValP1(ArrowBtState.RightArrowDown); } if (val == InputEventCtrl.ButtonState.UP) { GetInputHorValP1(ArrowBtState.RightArrowUp); } break; } case SSGameDataCtrl.PlayerIndex.Player02: { if (val == InputEventCtrl.ButtonState.DOWN) { GetInputHorValP2(ArrowBtState.RightArrowDown); } if (val == InputEventCtrl.ButtonState.UP) { GetInputHorValP2(ArrowBtState.RightArrowUp); } break; } } } }
// Use this for initialization public void Init(SSGameDataCtrl.PlayerIndex indexVal) { m_PlayerIndex = indexVal; SSGameDataCtrl.LinkGamePlayerData[] rankDt = SSGameDataCtrl.GetInstance().GetLinkGamePlayerRankDt(); for (int i = 0; i < rankDt.Length; i++) { ShowPlayerScore(rankDt[i].Score, i); } //添加延迟删除时间事件. SSTimeUpCtrl timeUpCom = gameObject.AddComponent <SSTimeUpCtrl>(); timeUpCom.OnTimeUpOverEvent += OnTimeUpOverEvent; timeUpCom.Init(m_TimeDestroy); for (int i = 0; i < m_WeiXinHead.Length; i++) { if (m_WeiXinHead[i] != null) { //string url = SSGameDataCtrl.GetInstance().m_PlayerData[i].PlayerHeadUrl; //UnityLog("url ===== " + url); m_WeiXinHead[i].Init((SSGameDataCtrl.PlayerIndex)i); } } }
public void Init(SSGameDataCtrl.PlayerIndex indexPlayer) { if (indexPlayer == SSGameDataCtrl.PlayerIndex.Null) { return; } string url = SSGameDataCtrl.GetInstance().m_PlayerData[(int)indexPlayer].PlayerHeadUrl; if (m_HeadImg != null) { SSGameDataCtrl.GetInstance().m_AsyncImg.LoadPlayerHeadImg(url, m_HeadImg); } if (m_HeadMat.Length >= 2 && m_HeadMat[(int)indexPlayer] != null) { m_HeadMat[(int)indexPlayer].mainTexture = m_HeadDefaut; SSGameDataCtrl.GetInstance().m_AsyncImg.LoadPlayerHeadImg(url, m_HeadMat[(int)indexPlayer]); if (m_HeadMesh != null) { m_HeadMesh.material = m_HeadMat[(int)indexPlayer]; } } }
private void OnClickStartBtEvent(SSGameDataCtrl.PlayerIndex index, InputEventCtrl.ButtonState val) { if (index != m_PlayerIndex) { return; } //SSGameDataCtrl.GetInstance().m_PlayerData[(int)index].m_GameMode = SSGameDataCtrl.GameMode.DanJi; //test. SSGameDataCtrl.GameMode gameMode = SSGameDataCtrl.GetInstance().m_PlayerData[(int)index].m_GameMode; UnityLog("SSGameModeCtrl::OnClickStartBtEvent -> gameMode == " + gameMode); if (gameMode == SSGameDataCtrl.GameMode.DanJi || gameMode == SSGameDataCtrl.GameMode.LianJi) { SSGameDataCtrl.GetInstance().m_PlayerData[(int)index].IsChooseGameMode = true; SSGameDataCtrl.GetInstance().m_SSUIRoot.RemoveGameModeUI(index); } switch (gameMode) { case SSGameDataCtrl.GameMode.DanJi: { //玩家选择了单机游戏模式. //SSGameDataCtrl.GetInstance().InitCreateGameBall(index); SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnGameDaoJiShiUI(index); break; } case SSGameDataCtrl.GameMode.LianJi: { //玩家选择了联机游戏模式. bool isOpenLianJiGame = true; for (int i = 0; i < SSGameDataCtrl.GetInstance().m_PlayerData.Length; i++) { if (SSGameDataCtrl.GetInstance().m_PlayerData[i].IsChooseGameMode) { //玩家已经选择了游戏模式. if (SSGameDataCtrl.GetInstance().m_PlayerData[i].m_GameMode != SSGameDataCtrl.GameMode.LianJi) { isOpenLianJiGame = false; break; } } else { isOpenLianJiGame = false; break; } } if (isOpenLianJiGame) { //开启多人联机模式游戏. UnityLog("DuoRen lianJi mode!"); SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnGameDaoJiShiUI(SSGameDataCtrl.PlayerIndex.Null); SSGameDataCtrl.GetInstance().m_SSUIRoot.RemoveGameLianJiWaitUI(SSGameDataCtrl.PlayerIndex.Null); } else { //产生等待界面. SSGameDataCtrl.GetInstance().m_SSUIRoot.SpawnGameLianJiWaitUI(index); } break; } case SSGameDataCtrl.GameMode.Null: { //玩家应该选择游戏模式. //UnityLogWarning("Should select gameMode!"); break; } } }
public void Init(SSGameDataCtrl.PlayerIndex index, int indexSpawnBallJieDuan) { //Debug.Log("index == " + index); IndexPlayer = index; bool isYanWuTxBall = false; float rv = Random.Range(0, 100) / 100f; GameObject ballPrefab = null; SSGameDataCtrl.LanQiuType lanQiuType = SSGameDataCtrl.LanQiuType.Null; bool isLianFaQiu = SSGameDataCtrl.GetInstance().m_BallSpawnArray[(int)index].IsLianFaBall; if (!isLianFaQiu && rv < SSGameDataCtrl.GetInstance().GetBallCreatRuleDt(indexSpawnBallJieDuan).ZhaDanBall) { //产生炸弹篮球. lanQiuType = SSGameDataCtrl.LanQiuType.ZhaDan; ballPrefab = m_BallData.m_ZhaDanBallPrefab; if (ballPrefab == null) { UnityLogWarning("m_ZhaDanBallPrefab was null!!!"); return; } } else { isYanWuTxBall = SSGameDataCtrl.GetInstance().m_LanKuang[(int)index].m_SSTriggerScore.IsKongXiBallScore; if (isYanWuTxBall) { if (m_YanWuTXDt.m_YanWuTXPrefab != null && m_YanWuTXDt.m_YanWuTXSpawnTr != null) { //产生烟雾特效. m_YanWuTXObj = (GameObject)Instantiate(m_YanWuTXDt.m_YanWuTXPrefab, m_YanWuTXDt.m_YanWuTXSpawnTr); } } rv = Random.Range(0, 100) / 100f; if (rv < SSGameDataCtrl.GetInstance().GetBallCreatRuleDt(indexSpawnBallJieDuan).PuTongBall) { //产生普通篮球. lanQiuType = SSGameDataCtrl.LanQiuType.PuTong; if (isYanWuTxBall) { ballPrefab = m_BallData.m_PuTongHuoBallPrefab; } else { ballPrefab = m_BallData.m_PuTongBallPrefab; } } else { //产生花式篮球. if (isYanWuTxBall) { ballPrefab = m_BallData.m_HuaShiHuoBallPrefab; } else { ballPrefab = m_BallData.m_HuaShiBallPrefab; } lanQiuType = SSGameDataCtrl.LanQiuType.HuaShi; } } GameObject ballObj = (GameObject)Instantiate(ballPrefab, m_BallData.m_BallSpawnTr); SSBallMoveCtrl.BallMoveData ballMoveDt = new SSBallMoveCtrl.BallMoveData(lanQiuType, ballObj.transform, this, isYanWuTxBall); float speedBeiLv = SSGameDataCtrl.GetInstance().GetBallCreatRuleDt(indexSpawnBallJieDuan).BallSpeedBeiLv; m_BallMove.Init(ballMoveDt, speedBeiLv); }
/// <summary> /// 产生游戏对话框文本信息UI. /// </summary> public void SpawnGameDlgUI(SSGameDlgUI.GameDlgState dlgState, SSGameDataCtrl.PlayerIndex playerIndex, Transform uiParent) { DlgData dlgDt = m_DlgDtList.Find((dt) => { return(dt.m_DlgState.Equals(dlgState)); }); if (dlgDt != null) { UnityLogWarning("SpawnGameDlgUI -> The DlgUI have been created! dlgState ==== " + dlgState); return; } string uiPrefabPath = ""; switch (dlgState) { case SSGameDlgUI.GameDlgState.ShiFouJieShouTiaoZhan: { uiPrefabPath = "Prefabs/GUI/GameDlgInfo/ShiFouJieShouTiaoZhan"; break; } case SSGameDlgUI.GameDlgState.ShiFouChongXinKaiShi: { uiPrefabPath = "Prefabs/GUI/GameDlgInfo/ShiFouChongXinKaiShi"; break; } case SSGameDlgUI.GameDlgState.FuHuoDaoJu_ZhiFu: { uiPrefabPath = "Prefabs/GUI/FuHuoDaoJu/FuHuoDaoJu_ZhiFu"; break; } case SSGameDlgUI.GameDlgState.LanKuangFangDa_ZhiFu: { uiPrefabPath = "Prefabs/GUI/LanKuangFangDa/LanKuangFangDa_ZhiFu"; break; } case SSGameDlgUI.GameDlgState.LanQiuJianSu_ZhiFu: { uiPrefabPath = "Prefabs/GUI/LanQiuJianSu/LanQiuJianSu_ZhiFu"; break; } case SSGameDlgUI.GameDlgState.ShiFouJieShouTiaoZhan_ZhiFu: { uiPrefabPath = "Prefabs/GUI/GameDlgInfo/ShiFouJieShouTiaoZhan_zhiFu"; break; } case SSGameDlgUI.GameDlgState.ShiFouChongXinKaiShi_ZhiFu: { uiPrefabPath = "Prefabs/GUI/GameDlgInfo/ShiFouChongXinKaiShi_zhiFu"; break; } default: { UnityLogWarning("SpawnGameDlgUI -> have not registered textState ==== " + dlgState); return; } } GameObject gmDataPrefab = (GameObject)Resources.Load(uiPrefabPath); if (gmDataPrefab != null) { UnityLog("SpawnGameDlgUI -> dlgState ==== " + dlgState); GameObject obj = (GameObject)Instantiate(gmDataPrefab, uiParent); SSGameDlgUI dlgUI = obj.GetComponent <SSGameDlgUI>(); dlgUI.Init(playerIndex, dlgState); m_DlgDtList.Add(new DlgData(dlgState, dlgUI)); } else { UnityLogWarning("SpawnGameDlgUI -> gmDataPrefab was null, dlgState ==== " + dlgState); } }