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;
 }
Beispiel #3
0
    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;
    }
Beispiel #4
0
 // 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);
        }
    }
Beispiel #8
0
    /// <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);
        }
    }
Beispiel #11
0
    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);
    }
Beispiel #12
0
    // 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;
    }
Beispiel #13
0
    /// <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);
    }
Beispiel #17
0
    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;
        }
        }
    }
Beispiel #20
0
    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;
            }
            }
        }
    }
Beispiel #21
0
    // 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];
            }
        }
    }
Beispiel #23
0
    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);
    }
Beispiel #25
0
    /// <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);
        }
    }