示例#1
0
    private void Awake()
    {
        mGameSceneManager = FindObjectOfType <GameSceneManager>();
        mGameStateManager = FindObjectOfType <GameStateManager>();
        mRePlayer         = GetComponent <RePlayer>();
        mRigidbody        = GetComponent <Rigidbody>();
        mFadeManager      = FindObjectOfType <FadeManager>();

        this.UpdateAsObservable()
        .Where(x => Input.GetKeyDown(KeyCode.F5) || Input.GetKeyDown(KeyCode.Escape))
        .Subscribe(async x =>
        {
            if (mGameSceneManager.SceneState != SceneState.GAME)
            {
                return;
            }
            if (mGameStateManager.CurrentGameState.Value != InGameState.PLAY)
            {
                return;
            }
            if (gameObject.name == ConstString.Name.PLAYER)
            {
                await FadeRecovery();
            }
            else
            {
                Recovery();
            }
        });
    }
示例#2
0
    private void Awake()
    {
        mGameSceneManager = FindObjectOfType <GameSceneManager>();
        mGameStateManager = FindObjectOfType <GameStateManager>();
        mRePlayer         = GetComponent <RePlayer>();
        mRigidbody        = GetComponent <Rigidbody>();
        mFadeManager      = FindObjectOfType <FadeManager>();

        this.UpdateAsObservable()
        .Where(x => Input.GetKeyDown(KeyCode.F5) || Input.GetKeyDown(KeyCode.Escape))
        //.TimeInterval()
        //.Select(t => t.Interval.TotalMilliseconds)
        //.Buffer(mClickCount, 1)
        //.Where(list => list[0] > doubleClickInterval)
        //.Where(list => list[1] <= doubleClickInterval)
        .Subscribe(async x =>
        {
            if (mGameSceneManager.SceneState != SceneState.GAME)
            {
                return;
            }
            if (mGameStateManager.CurrentGameState.Value != InGameState.PLAY)
            {
                return;
            }
            if (gameObject.name == ConstString.Name.PLAYER)
            {
                await FadeRecovery();
            }
            else
            {
                Recovery();
            }
        });
    }
示例#3
0
    private void CreateRePlayer(bool isTutorial = false)
    {
        GameObject replayerGO = Instantiate(replayerPrefab, playerSpawnPoint.position, Quaternion.identity);
        //GameObject replayerGO = PoolManager.Instance.SpawnObject("replayer", playerSpawnPoint.position, Quaternion.identity);
        RePlayer replayer = replayerGO.GetComponent <RePlayer>();

        if (isTutorial)
        {
            replayer.Setup(recorder.GetTutorialKeyframes(), recorder.GetShootActions());
        }
        else
        {
            replayer.Setup(recorder.GetKeyframes(), recorder.GetShootActions());
        }

        replayers.Add(replayer);
    }