Ejemplo n.º 1
0
    public void SaveReplay(int index, string name, STGData data)
    {
        if (Global.IsInReplayMode)
        {
            return;
        }
        ReplayInfo info = new ReplayInfo
        {
            replayIndex    = index,
            name           = name,
            dateTick       = System.DateTime.Now.Ticks,
            lastFrame      = STGStageManager.GetInstance().GetFrameSinceStageStart(),
            stageName      = data.stageName,
            characterIndex = data.characterIndex,
        };
        ReplayData repData = new ReplayData();

        repData.info      = info;
        repData.keyList   = OperationController.GetInstance().GetOperationKeyList();
        repData.lastFrame = STGStageManager.GetInstance().GetFrameSinceStageStart();
        repData.seed      = data.seed;
        // 写入info文件
        WriteRepInfoFile(info);
        WriteRepDataFile(repData);
    }
Ejemplo n.º 2
0
    private void OnCharacterSelected(int characterIndex)
    {
        _selCharacterIndex = characterIndex;
        STGData data = new STGData();

        data.stageName      = "Stage1";
        data.characterIndex = _selCharacterIndex;
        data.isReplay       = false;
        _fsm.SetNextStateId((int)eGameState.STG, data);
    }
Ejemplo n.º 3
0
    private void OnLoadReplaySuccess(ReplayData repData)
    {
        STGData data = new STGData();

        data.stageName      = repData.info.stageName;
        data.characterIndex = repData.info.characterIndex;
        data.isReplay       = true;
        data.seed           = repData.seed;
        _fsm.SetNextStateId((int)eGameState.STG, data);
    }
Ejemplo n.º 4
0
    public void OnStateEnter(object data = null)
    {
        // 打开loadingView
        List <object> commandList = new List <object>();

        commandList.Add(CommandConsts.STGInitComplete);
        commandList.Add(CommandConsts.STGLoadStageLuaComplete);
        commandList.Add(CommandConsts.STGLoadStageDefaultBgComplete);
        object[] commandArr = commandList.ToArray();
        UIManager.GetInstance().ShowView(WindowName.GameLoadingView, commandArr);
        // STGCamera启用
        UIManager.GetInstance().GetSTGCamera().cullingMask = (1 << Consts.STGLayerIndex);
        // 添加监听
        CommandManager.GetInstance().Register(CommandConsts.RetryGame, this);
        CommandManager.GetInstance().Register(CommandConsts.RetryStage, this);
        CommandManager.GetInstance().Register(CommandConsts.ContinueGame, this);
        CommandManager.GetInstance().Register(CommandConsts.StageClear, this);
        CommandManager.GetInstance().Register(CommandConsts.SaveReplay, this);
        CommandManager.GetInstance().Register(CommandConsts.BackToTitle, this);
        _stgData = (STGData)data;
        // 设置需要载入的stage
        _nextStageName = _stgData.stageName;
        // 打开界面
        UIManager.GetInstance().ShowView(WindowName.GameInfoView, null);
        UIManager.GetInstance().ShowView(WindowName.STGBottomView, null);
        UIManager.GetInstance().ShowView(WindowName.GameMainView);

        UIManager.GetInstance().ShowView(WindowName.STGDialogView);
        // 实例化STGMain
        if (_stgMain == null)
        {
            _curState = eSTGMainState.StateInitSTGMain;
        }
        else
        {
            _curState = eSTGMainState.StateInitSTGData;
        }
    }
Ejemplo n.º 5
0
    private void OnPreloadFinishUpdate()
    {
        CommandManager.GetInstance().RunCommand(CommandConsts.PreloadComplete);
#if StartFromGame
#if StartWithReimu
        STGData data = new STGData()
        {
            stageName      = "Stage1",
            characterIndex = 0,
            isReplay       = false,
        };
#elif StartWithMarisa
        STGData data = new STGData()
        {
            stageName      = "Stage1",
            characterIndex = 1,
            isReplay       = false,
        };
#endif
        _fsm.SetNextStateId((int)eGameState.STG, data);
#else
        _fsm.SetNextStateId((int)eGameState.Title);
#endif
    }