public static void ShowPlayerScore(PlayerEnum indexPlayer)
    {
        if (indexPlayer == PlayerEnum.Null)
        {
            if (XkGameCtrl.IsActivePlayerOne)
            {
                _InstanceP1.SetActivePlayerScore(true);
            }

            if (XkGameCtrl.IsActivePlayerTwo)
            {
                _InstanceP2.SetActivePlayerScore(true);
            }

            if (XkGameCtrl.IsActivePlayerThree)
            {
                _InstanceP3.SetActivePlayerScore(true);
            }

            if (XkGameCtrl.IsActivePlayerFour)
            {
                _InstanceP4.SetActivePlayerScore(true);
            }
            return;
        }

        XKPlayerScoreCtrl instanceVal = GetInstance(indexPlayer);

        if (instanceVal == null)
        {
            return;
        }
        instanceVal.SetActivePlayerScore(true);
        instanceVal.SetScoreSprite();
    }
コード例 #2
0
    public void StopDaoJiShi()
    {
        //SSDebug.Log("StopDaoJiShi******************************************************IsPlayDaoJishi " + IsPlayDaoJishi + ", Time ======= " + Time.time.ToString("f2"));
        if (GameOverObj.activeInHierarchy == true)
        {
            if (IsInvoking("HiddenGameOverObj"))
            {
                CancelInvoke("HiddenGameOverObj");
            }
            GameOverObj.SetActive(false);
        }

        if (!IsPlayDaoJishi)
        {
            //重置玩家信息.
            XkGameCtrl.GetInstance().ResetPlayerInfo(PlayerIndex);
            XKPlayerScoreCtrl.ShowPlayerScore(PlayerIndex);
            return;
        }
        IsPlayDaoJishi = false;
        CountDaoJiShi--;
        ContinueGameObj.SetActive(false);
        DaoJiShiObj.SetActive(false);
        //m_TVYaoKongEnterObj.SetActive(false);

        bool isActive = XkGameCtrl.GetIsActivePlayer(PlayerIndex);

        if (isActive == false && pcvr.GetInstance() != null)
        {
            pcvr.GetInstance().m_HongDDGamePadInterface.OnPlayerGameDaoJiShiOver(PlayerIndex);
        }
    }
    // Use this for initialization
    void Start()
    {
        switch (PlayerIndex)
        {
        case PlayerEnum.PlayerOne:
            _InstanceP1 = this;
            break;

        case PlayerEnum.PlayerTwo:
            _InstanceP2 = this;
            break;

        case PlayerEnum.PlayerThree:
            _InstanceP3 = this;
            break;

        case PlayerEnum.PlayerFour:
            _InstanceP4 = this;
            break;
        }
        ZuiGaoFenObj.SetActive(false);
        SetScoreSprite();

        if (!XkGameCtrl.GetIsActivePlayer(PlayerIndex))
        {
            SetActivePlayerScore(false);
        }
    }
    public void StopJiFenTime()
    {
        if (Time.realtimeSinceStartup - TimeStartVal < 8f)
        {
            Debug.Log("Unity:" + "StopJiFenTime -> TimeStartVal was wrong!");
            return;
        }

        if (IsMakeJiFenStop)
        {
            return;
        }
        IsMakeJiFenStop  = true;
        IsShowFinishTask = false;
        JiFenJieMianObj.SetActive(false);
        Debug.Log("Unity:" + "StopJiFenTime...");

        if (GameOverCtrl.IsShowGameOver)
        {
            XkGameCtrl.LoadingGameMovie();
            return;
        }

        CountJiFenOpen++;
#if CREAT_GAME_SCENE
        //动态加载下一关的游戏场景预制文件.
        XkGameCtrl.GetInstance().m_CreatSceneCom.CreatGameScene(CountJiFenOpen);
#endif

#if USE_LOADING_NEXT_SCENE
        //直接加载下一关的游戏场景.
        if (Application.loadedLevel < 4)
        {
            Application.LoadLevel(Application.loadedLevel + 1);
        }
        else
        {
            Application.LoadLevel(0);
        }
#endif

        //CountJiFenOpen = 4; //test.
        if (CountJiFenOpen < 4)
        {
            XKBossXueTiaoCtrl.IsWuDiPlayer          = false;
            XKTriggerStopMovePlayer.IsActiveTrigger = false;
            GameTimeCtrl.GetInstance().OpenGameTime();

            CoinPlayerCtrl.GetInstanceOne().ShwoPlayerCoin();
            CoinPlayerCtrl.GetInstanceTwo().ShwoPlayerCoin();
            CoinPlayerCtrl.GetInstanceThree().ShwoPlayerCoin();
            CoinPlayerCtrl.GetInstanceFour().ShwoPlayerCoin();
            DaoJuCtrl.GetInstance().ShowAllPlayerDaoJu();
            XKPlayerScoreCtrl.ShowPlayerScore(PlayerEnum.Null);
        }
        else
        {
            QuanBuTongGuanCtrl.GetInstance().ShowQuanBuTongGuan();
        }
    }
    public void ShowPlayerFenShu(PlayerEnum indexVal, int fenShuVal)
    {
        int indexPlayer = (int)indexVal - 1;

        indexPlayer = (indexPlayer < 0 || indexPlayer > 3) ? 0 : indexPlayer;
        int fenShuValTmp = (fenShuVal * XKDaoJuGlobalDt.FenShuBeiLv[indexPlayer]);

        if (fenShuValTmp <= 0)
        {
            return;
        }

        XkGameCtrl.PlayerJiFenArray[indexPlayer] += fenShuValTmp;
        XKPlayerScoreCtrl.ChangePlayerScore(indexVal);

        XKPlayerFenShuMove fenShuMoveCom = GetXKPlayerFenShuMove();

        if (fenShuMoveCom == null)
        {
            return;
        }
        Transform playerTr = XKPlayerMoveCtrl.GetXKPlayerMoveCtrl(indexVal).PiaoFenPoint;
//		playerTr = TestPlayerTr; //test

        Vector3 startPos  = XkGameCtrl.GetInstance().GetWorldObjToScreenPos(playerTr.position);
        int     fenShuLen = fenShuVal.ToString().Length;

        startPos.x += 9f * (fenShuLen - 1);
        fenShuMoveCom.SetPlayerFenShuVal(fenShuVal, startPos, indexPlayer);
    }
    // Use this for initialization
    internal void Init()
    {
        if (IsInit == true)
        {
            return;
        }
        IsInit = true;

        switch (PlayerIndex)
        {
        case PlayerEnum.PlayerOne:
            _InstanceP1 = this;
            break;

        case PlayerEnum.PlayerTwo:
            _InstanceP2 = this;
            break;

        case PlayerEnum.PlayerThree:
            _InstanceP3 = this;
            break;

        case PlayerEnum.PlayerFour:
            _InstanceP4 = this;
            break;
        }
        ZuiGaoFenObj.SetActive(false);
        //SetScoreSprite();

        if (!XkGameCtrl.GetIsActivePlayer(PlayerIndex))
        {
            SetActivePlayerScore(false);
        }
    }
    public static void ChangePlayerScore(PlayerEnum indexPlayer)
    {
        XKPlayerScoreCtrl instanceVal = GetInstance(indexPlayer);

        if (instanceVal == null)
        {
            return;
        }
        instanceVal.MakeScoreToBig();
        CheckPlayerZuiGaoFen();
    }
    public void StopJiFenTime()
    {
        if (Time.realtimeSinceStartup - TimeStartVal < 8f)
        {
            Debug.Log("Unity:" + "StopJiFenTime -> TimeStartVal was wrong!");
            return;
        }

        if (IsMakeJiFenStop)
        {
            return;
        }
        IsMakeJiFenStop  = true;
        IsShowFinishTask = false;
        JiFenJieMianObj.SetActive(false);
        Debug.Log("Unity:" + "StopJiFenTime...");

        if (GameOverCtrl.IsShowGameOver)
        {
            XkGameCtrl.LoadingGameMovie();
            return;
        }

        CountJiFenOpen++;
        //CountJiFenOpen = 4; //test.
        if (CountJiFenOpen < 4)
        {
            XKBossXueTiaoCtrl.IsWuDiPlayer          = false;
            XKTriggerStopMovePlayer.IsActiveTrigger = false;
            if (GameTimeCtrl.GetInstance() != null)
            {
                GameTimeCtrl.GetInstance().OpenGameTime();
            }

            CoinPlayerCtrl.GetInstanceOne().ShwoPlayerCoin();
            CoinPlayerCtrl.GetInstanceTwo().ShwoPlayerCoin();
            CoinPlayerCtrl.GetInstanceThree().ShwoPlayerCoin();
            CoinPlayerCtrl.GetInstanceFour().ShwoPlayerCoin();
            DaoJuCtrl.GetInstance().ShowAllPlayerDaoJu();
            XKPlayerScoreCtrl.ShowPlayerScore(PlayerEnum.Null);
        }
        else
        {
            if (QuanBuTongGuanCtrl.GetInstance() != null)
            {
                QuanBuTongGuanCtrl.GetInstance().ShowQuanBuTongGuan();
            }
        }
    }
    public static void HiddenPlayerScore(PlayerEnum indexPlayer)
    {
        if (indexPlayer == PlayerEnum.Null)
        {
            _InstanceP1.SetActivePlayerScore(false);
            _InstanceP2.SetActivePlayerScore(false);
            _InstanceP3.SetActivePlayerScore(false);
            _InstanceP4.SetActivePlayerScore(false);
            return;
        }

        XKPlayerScoreCtrl instanceVal = GetInstance(indexPlayer);

        if (instanceVal == null)
        {
            return;
        }
        instanceVal.SetActivePlayerScore(false);
    }
    public static void ChangePlayerScore(PlayerEnum indexPlayer)
    {
        XKPlayerScoreCtrl instanceVal = GetInstance(indexPlayer);

        if (instanceVal == null)
        {
            return;
        }
        //instanceVal.MakeScoreToBig();
        CheckPlayerZuiGaoFen();


        SSPlayerScoreManage playerScoreManage = SSPlayerScoreManage.GetInstance(indexPlayer);

        if (playerScoreManage != null && playerScoreManage.IsOnPlayerFenShuZuGou == false)
        {
            //玩家有新获得积分.
            int minChouJiangScore = 40000;
            if (XkGameCtrl.GetInstance() != null && XkGameCtrl.GetInstance().m_PingJiData != null)
            {
                minChouJiangScore = XkGameCtrl.GetInstance().m_PingJiData.GetChouJiangMinScore();
            }

            int playerScore = XkGameCtrl.GetPlayerJiFenValue(indexPlayer);
            //还差多少分数.
            int haiChaScoreVal = minChouJiangScore - playerScore;
            if (haiChaScoreVal <= 0)
            {
                haiChaScoreVal = 0;
            }

            XKPlayerScoreCtrl playerScoreCom = GetInstance(indexPlayer);
            if (playerScoreCom != null)
            {
                //设置还差多少分数.
                playerScoreCom.SetJuChouJiangScore(haiChaScoreVal);
            }
        }
    }
    public static XKPlayerScoreCtrl GetInstance(PlayerEnum indexPlayer)
    {
        XKPlayerScoreCtrl instanceVal = null;

        switch (indexPlayer)
        {
        case PlayerEnum.PlayerOne:
            instanceVal = _InstanceP1;
            break;

        case PlayerEnum.PlayerTwo:
            instanceVal = _InstanceP2;
            break;

        case PlayerEnum.PlayerThree:
            instanceVal = _InstanceP3;
            break;

        case PlayerEnum.PlayerFour:
            instanceVal = _InstanceP4;
            break;
        }
        return(instanceVal);
    }
コード例 #12
0
    public void StopDaoJiShi()
    {
        if (GameOverObj.activeInHierarchy == true)
        {
            if (IsInvoking("HiddenGameOverObj"))
            {
                CancelInvoke("HiddenGameOverObj");
            }
            GameOverObj.SetActive(false);
        }

        if (!IsPlayDaoJishi)
        {
            //重置玩家信息.
            XkGameCtrl.GetInstance().ResetPlayerInfo(PlayerIndex);
            XKPlayerScoreCtrl.ShowPlayerScore(PlayerIndex);
            return;
        }
        IsPlayDaoJishi = false;
        CountDaoJiShi--;
        ContinueGameObj.SetActive(false);
        DaoJiShiObj.SetActive(false);
        //m_TVYaoKongEnterObj.SetActive(false);
    }
    public void ShowGamePaiMing()
    {
        //Debug.Log("Unity:"+"ShowGamePaiMing...");
        int timeShengYu = GameTimeBossCtrl.GetInstance().GetTimeBossResidual();

        //timeShengYu = 51; //test.
        BossJiFenCtrl.GetInstance().ShowBossJiFenInfo(timeShengYu);

        int fenShuBoss = BossFenShuVal * timeShengYu;

        //Debug.Log("Unity:"+"fenShuBoss ****************** "+fenShuBoss);
        if (XkGameCtrl.IsActivePlayerOne)
        {
            XkGameCtrl.PlayerJiFenArray[0] += fenShuBoss;
            if (fenShuBoss > 0)
            {
                XKPlayerScoreCtrl.ChangePlayerScore(PlayerEnum.PlayerOne);
            }
        }
        if (XkGameCtrl.IsActivePlayerTwo)
        {
            XkGameCtrl.PlayerJiFenArray[1] += fenShuBoss;
            if (fenShuBoss > 0)
            {
                XKPlayerScoreCtrl.ChangePlayerScore(PlayerEnum.PlayerTwo);
            }
        }
        if (XkGameCtrl.IsActivePlayerThree)
        {
            XkGameCtrl.PlayerJiFenArray[2] += fenShuBoss;
            if (fenShuBoss > 0)
            {
                XKPlayerScoreCtrl.ChangePlayerScore(PlayerEnum.PlayerThree);
            }
        }
        if (XkGameCtrl.IsActivePlayerFour)
        {
            XkGameCtrl.PlayerJiFenArray[3] += fenShuBoss;
            if (fenShuBoss > 0)
            {
                XKPlayerScoreCtrl.ChangePlayerScore(PlayerEnum.PlayerFour);
            }
        }

        for (int i = 0; i < XkGameCtrl.PlayerJiFenArray.Length; i++)
        {
            XkGameCtrl.PlayerJiFenArray[i] = XkGameCtrl.PlayerJiFenArray[i] > MaxGameFenShu
                                ? MaxGameFenShu : XkGameCtrl.PlayerJiFenArray[i];
        }

        for (int i = 0; i < PlayerPaiMingObjArray.Length; i++)
        {
            PlayerPaiMingObjArray[i].SetActive(false);
        }
        XinJiLuObj.SetActive(false);
        HuangGuanObj.SetActive(false);

        int  countJF          = 0;
        bool isActiveXinJiLu  = false;
        bool isActivePlayerJF = false;

        //test start.

        /*XkGameCtrl.PlayerJiFenArray[0] = 123;
         * XkGameCtrl.PlayerJiFenArray[1] = 12345;
         * XkGameCtrl.PlayerJiFenArray[2] = 1234;
         * XkGameCtrl.PlayerJiFenArray[3] = 1234;*/
        //test end.
        int[] playerJFArray = XkGameCtrl.PlayerJiFenArray;
        if (PlayerJiFenList != null)
        {
            PlayerJiFenList.Clear();
            PlayerJiFenList = null;
        }

        PlayerJiFenList = new List <int>(playerJFArray);
        PlayerJiFenList.Sort();
        PlayerJiFenList.Reverse();
        int[] jiLuFenShuKey = { 0, 0, 0, 0 };
        for (int i = 0; i < 4; i++)
        {
            for (int j = 0; j < 4; j++)
            {
                /*Debug.Log("Unity:"+"playerJFArray["+i+"] *** "+playerJFArray[i]
                 +", PlayerJiFenList["+j+"] *** "+PlayerJiFenList[j]);*/
                if (playerJFArray[i] == PlayerJiFenList[j] && jiLuFenShuKey[j] == 0)
                {
                    jiLuFenShuKey[j] = 1;
                    isActivePlayerJF = playerJFArray[i] > 0 ? true : false;
                    if (!isActivePlayerJF && j > 0)
                    {
                        break;
                    }

                    countJF++;
                    if (XKGlobalData.GameVersionPlayer == 0)
                    {
                        if (pcvr.IsHongDDShouBing)
                        {
                            string url = pcvr.GetInstance().m_PlayerHeadUrl[i];
                            XkGameCtrl.GetInstance().m_AsyImage.LoadPlayerHeadImg(url, PlayerNumUITexture[j]);
                        }
                        else
                        {
                            PlayerNumUITexture[j].mainTexture = PlayerTexture[i];
                        }
                    }
                    else
                    {
                        PlayerNumUITexture[j].mainTexture = PlayerTextureShR[i];
                    }

                    switch (j)
                    {
                    case 0:
                        isActivePlayerJF = true;
                        if (XinJiLuVal < PlayerJiFenList[j])
                        {
                            isActiveXinJiLu = true;
                            XinJiLuVal      = PlayerJiFenList[j];
                        }
                        SetPlayerJiFen(PlayerJF_1, PlayerJiFenList[j]);
                        break;

                    case 1:
                        SetPlayerJiFen(PlayerJF_2, PlayerJiFenList[j]);
                        break;

                    case 2:
                        SetPlayerJiFen(PlayerJF_3, PlayerJiFenList[j]);
                        break;

                    case 3:
                        SetPlayerJiFen(PlayerJF_4, PlayerJiFenList[j]);
                        break;
                    }
                    PlayerPaiMingObjArray[j].SetActive(isActivePlayerJF);
                    break;
                }
            }
        }

        if (countJF > 1)
        {
            HuangGuanObj.SetActive(true);
        }
        XinJiLuObj.SetActive(isActiveXinJiLu);

        if (GameJiLuFenShuCtrl.GetInstance() != null)
        {
            GameJiLuFenShuCtrl.GetInstance().ShowGameJiLuScore();
        }
        XKPlayerScoreCtrl.HiddenPlayerScore(PlayerEnum.Null);
    }
    static void CheckPlayerZuiGaoFen()
    {
        //XkGameCtrl.CheckPlayerActiveNum();
        if (XkGameCtrl.PlayerActiveNum <= 0)
        {
            return;
        }

        if (Time.time - TimeLastMaxScore < 0.5f)
        {
            return;
        }
        TimeLastMaxScore = Time.time;

        int maxScore = 0;
        int indexVal = 0;

        for (int i = 0; i < 4; i++)
        {
            switch (i)
            {
            case 0:
                if (!XkGameCtrl.IsActivePlayerOne)
                {
                    continue;
                }
                break;

            case 1:
                if (!XkGameCtrl.IsActivePlayerTwo)
                {
                    continue;
                }
                break;

            case 2:
                if (!XkGameCtrl.IsActivePlayerThree)
                {
                    continue;
                }
                break;

            case 3:
                if (!XkGameCtrl.IsActivePlayerFour)
                {
                    continue;
                }
                break;
            }

            if (XkGameCtrl.PlayerJiFenArray[i] > maxScore)
            {
                maxScore = XkGameCtrl.PlayerJiFenArray[i];
                indexVal = i;
            }
        }
        //Debug.Log("Unity:"+"CheckPlayerZuiGaoFen -> maxScore "+maxScore+", index "+indexVal);

        XKPlayerScoreCtrl playerScore = null;

        switch (indexVal)
        {
        case 0:
            playerScore = _InstanceP1;
            break;

        case 1:
            playerScore = _InstanceP2;
            break;

        case 2:
            playerScore = _InstanceP3;
            break;

        case 3:
            playerScore = _InstanceP4;
            break;
        }
        if (playerScore.ZuiGaoFenObj.activeSelf)
        {
            return;
        }

        if (_InstanceP1 != null)
        {
            _InstanceP1.SetActiveZuiGaoFen(playerScore == _InstanceP1);
        }

        if (_InstanceP2 != null)
        {
            _InstanceP2.SetActiveZuiGaoFen(playerScore == _InstanceP2);
        }

        if (_InstanceP3 != null)
        {
            _InstanceP3.SetActiveZuiGaoFen(playerScore == _InstanceP3);
        }

        if (_InstanceP4 != null)
        {
            _InstanceP4.SetActiveZuiGaoFen(playerScore == _InstanceP4);
        }
    }
    static void CheckPlayerZuiGaoFen(bool isHuLueTime = false)
    {
        //XkGameCtrl.CheckPlayerActiveNum();
        if (XkGameCtrl.PlayerActiveNum <= 0)
        {
            return;
        }

        if (Time.time - TimeLastMaxScore < 0.5f)
        {
            return;
        }
        TimeLastMaxScore = Time.time;

        int        maxScore    = 0;
        int        indexVal    = -1;
        PlayerEnum indexPlayer = PlayerEnum.Null;

        for (int i = 0; i < 4; i++)
        {
            indexPlayer = (PlayerEnum)(i + 1);
            if (XkGameCtrl.GetIsActivePlayer(indexPlayer) == false)
            {
                continue;
            }

            if (XkGameCtrl.GetIsDeathPlayer(indexPlayer) == true)
            {
                XKPlayerScoreCtrl playerScoreCom = GetInstance(indexPlayer);
                if (playerScoreCom != null)
                {
                    playerScoreCom.SetActiveZuiGaoFen(false);
                }
                continue;
            }
            //switch (i) {
            //case 0:
            //	if (!XkGameCtrl.IsActivePlayerOne) {
            //		continue;
            //	}
            //	break;
            //case 1:
            //	if (!XkGameCtrl.IsActivePlayerTwo) {
            //		continue;
            //	}
            //	break;
            //case 2:
            //	if (!XkGameCtrl.IsActivePlayerThree) {
            //		continue;
            //	}
            //	break;
            //case 3:
            //	if (!XkGameCtrl.IsActivePlayerFour) {
            //		continue;
            //	}
            //	break;
            //}

            if (XkGameCtrl.PlayerJiFenArray[i] > maxScore)
            {
                maxScore = XkGameCtrl.PlayerJiFenArray[i];
                indexVal = i;
            }
        }
        //Debug.Log("Unity:"+"CheckPlayerZuiGaoFen -> maxScore "+maxScore+", index "+indexVal);

        if (indexVal == -1)
        {
            return;
        }

        XKPlayerScoreCtrl playerScore = null;

        switch (indexVal)
        {
        case 0:
            playerScore = _InstanceP1;
            break;

        case 1:
            playerScore = _InstanceP2;
            break;

        case 2:
            playerScore = _InstanceP3;
            break;

        case 3:
            playerScore = _InstanceP4;
            break;
        }
        if (playerScore.ZuiGaoFenObj.activeSelf)
        {
            return;
        }

        if (_InstanceP1 != null)
        {
            _InstanceP1.SetActiveZuiGaoFen(playerScore == _InstanceP1);
        }

        if (_InstanceP2 != null)
        {
            _InstanceP2.SetActiveZuiGaoFen(playerScore == _InstanceP2);
        }

        if (_InstanceP3 != null)
        {
            _InstanceP3.SetActiveZuiGaoFen(playerScore == _InstanceP3);
        }

        if (_InstanceP4 != null)
        {
            _InstanceP4.SetActiveZuiGaoFen(playerScore == _InstanceP4);
        }
    }