Exemplo n.º 1
0
        // Player
        public void Load(string filename)
        {
            m_FileName = filename;
            Reset();
            byte[] ptr;
            m_pPlayerState       = new Cf3ReplayPlayerState();
            m_pPlayerState.stage = new Cf3StageFile();
            m_pPlayerState.stage.Read(m_FileName);
            // シークレットの状態と入力情報も読み込む
            Cf3Setting.theSetting.m_Gravity = m_pPlayerState.stage.GetStageDataInt(CT.CT_GRVT);
            Cf3Setting.theSetting.m_Hyper   = m_pPlayerState.stage.GetStageDataInt(CT.CT_HYPR);
            ptr     = m_pPlayerState.stage.GetStageData(CT.CT_RPLY);
            m_nSize = (uint)ptr.Length >> 1;
            for (int i = 0; i < m_nSize; i++)
            {
                m_keyPressed[m_nProgress] = ptr[m_nProgress * 2];
                m_keyPushed[m_nProgress]  = ptr[m_nProgress * 2 + 1];
                Progress();
            }
            // 最後にマップを読み込む(設定を先に反映させる必要がある)
            var stage = m_pPlayerState.stage.GetStageDataInt(CT.CT_STGN);

            m_pPlayerState.map = new Cf3Map(m_pPlayerState.stage, stage);
            Seek();
        }
Exemplo n.º 2
0
 public Cf3Replay()
 {
     m_pPlayerState = null;
     Reset();
 }