/// <summary>
    /// 发射曲棍球
    /// </summary>
    void FireBall()
    {
        if (SSGameMange.GetInstance() == null ||
            SSGameMange.GetInstance().m_SSGameUI == null ||
            SSGameMange.GetInstance().m_SSGameScene == null)
        {
            return;
        }

        if (SSGameMange.GetInstance().m_SSGameUI.m_GameUIData.IsGameStart == false)
        {
            //有玩家还没拍开始游戏按键
            return;
        }

        if (m_SSBall == null)
        {
            return;
        }

        SSGameMange.GetInstance().m_SSGameScene.ResetBallSpeed();
        SSGameMange.GetInstance().m_SSGameScene.UpdateBallSpeed();

        m_SSBall.Fire(transform.forward);
        m_SSBall = null;

        //开启镜头跟踪
        SSGameMange.GetInstance().m_SSGameScene.SetIsMoveCamera(true);
        //创建游戏倒计时界面
        SSGameMange.GetInstance().m_SSGameUI.CreateGameDaoJiShi();
        //触发玩家发球事件
        SSGameMange.GetInstance().m_SSGameScene.PlayerFireBallEvent();
    }
Esempio n. 2
0
    void CheckAddFenShuToPlayer(GameObject obj)
    {
        if (obj == null)
        {
            return;
        }

        SSBall ball = obj.GetComponent <SSBall>();

        if (ball != null)
        {
            SSGlobalData.PlayerEnum indexPlayer = ball.GetBallPlayerIndex();
            if (indexPlayer != SSGlobalData.PlayerEnum.Null && m_DaoJuData != null)
            {
                SSGlobalData.GetInstance().AddPlayerFenShu(indexPlayer, m_DaoJuData.FenShu);
                if (SSGameMange.GetInstance() != null && SSGameMange.GetInstance().m_SSGameScene != null)
                {
                    SSGameMange.GetInstance().m_SSGameScene.RemoveDaoJu(gameObject);
                }

                if (SSGameMange.GetInstance() != null && SSGameMange.GetInstance().m_SSGameUI != null)
                {
                    SSGameMange.GetInstance().m_SSGameUI.CreateDaoJuJiaFenUI(indexPlayer, m_DaoJuData.FenShu);
                }
                CreateTeXiao();
                RemoveSelf();
            }
        }
    }
    /// <summary>
    /// 填充曲棍球
    /// </summary>
    internal void FillBall(float posZ, SSBall ballCom)
    {
        if (ballCom == null)
        {
            return;
        }

        m_SSBall = ballCom;
        //修改曲棍球的父级
        ballCom.transform.SetParent(transform);
        ballCom.transform.localPosition = new Vector3(0f, 0f, posZ);
    }
Esempio n. 4
0
    void ballOut(Collider col)
    {
        if (IndexPlayer == SSGlobalData.PlayerEnum.Null)
        {
            return;
        }

        if (SSGameMange.GetInstance() == null ||
            SSGameMange.GetInstance().m_SSGameScene == null ||
            SSGameMange.GetInstance().m_SSGameUI == null)
        {
            return;
        }
        //创建开始发球界面
        SSGameMange.GetInstance().m_SSGameUI.CreateStartFireBall(IndexPlayer);

        //玩家没有接上曲棍球
        //把曲棍球初始化到玩家的球拍处
        SSBall ball = col.gameObject.GetComponent <SSBall>();

        if (ball)
        {
            ball.SetBallPosition(IndexPlayer);
        }

        SSGlobalData.PlayerEnum indexJiaFenPlayer = SSGlobalData.PlayerEnum.Null;
        switch (IndexPlayer)
        {
        case SSGlobalData.PlayerEnum.PlayerOne:
        {
            indexJiaFenPlayer = SSGlobalData.PlayerEnum.PlayerTwo;
            break;
        }

        case SSGlobalData.PlayerEnum.PlayerTwo:
        {
            indexJiaFenPlayer = SSGlobalData.PlayerEnum.PlayerOne;
            break;
        }
        }

        if (indexJiaFenPlayer != SSGlobalData.PlayerEnum.Null)
        {
            //创建加分UI界面
            SSGameMange.GetInstance().m_SSGameUI.CreateJiaFenUI(indexJiaFenPlayer);
        }

        //播放出界音效
        PlayAudio();

        //关闭镜头跟踪
        SSGameMange.GetInstance().m_SSGameScene.SetIsMoveCamera(false);
    }
    /// <summary>
    /// 创建曲棍球
    /// </summary>
    void CreateGameBall()
    {
        string     prefabPath   = "Ball/Ball";
        GameObject gmDataPrefab = (GameObject)Resources.Load(prefabPath);

        if (gmDataPrefab != null)
        {
            //SSDebug.Log("CreateGameBall......................................................");
            GameObject obj = (GameObject)Instantiate(gmDataPrefab);
            SSBall     com = obj.GetComponent <SSBall>();
            if (com != null)
            {
                m_SSBall = com;
                com.Init();
            }
            SetCameraAimTarget(obj.transform);
        }
        else
        {
            SSDebug.LogWarning("CreateGameBall -> gmDataPrefab was null! prefabPath == " + prefabPath);
        }
    }