Пример #1
0
    public void PlayeTrack(string roundID, int trackID, int length)
    {
        //获取最近的回合信息
        RoundInfo roundInfo = DataManager.Instance.GetRoundInfo(roundID);

        //获取轨迹信息
        List <TrackInfo> trackInfoList = roundInfo.GetTargetTracksByIndex(trackID, length);

        if (trackInfoList == null)
        {
            Debug.LogError("获取轨迹为空");
            return;
        }

        if (EventManager.ShowTrackInfo != null)
        {
            EventManager.ShowTrackInfo(trackInfoList[0]);
        }

        //按照轨迹顺序 播放轨迹
        ResetPlayingData();
        for (int i = 0; i < trackInfoList.Count; i++)
        {
            TrackInfo info = trackInfoList[i];
            m_FramesToPlay.AddRange(info.FrameInfos);
        }
        PlayMode = PlayerMode.PlayTrack;

        //设置播放速度
        m_RealTimeFrameInterval = DBFRAMETimeDelta / m_SpeedScale;
        m_TotalPlayTime         = (m_FramesToPlay.Count - 1) * m_RealTimeFrameInterval; //总播放时长

        //CameraManager.Instance.SetHawkEyeCameraActive(false);
        m_PlayingTrackList = trackInfoList;
    }