Exemplo n.º 1
0
    private void Awake()
    {
        inGameModel.Initialize();

        inGameView.IOStartPos.Subscribe(IOStartPos => inGameModel.Idle(IOStartPos));
        inGameView.IOMovePos.Subscribe(IOMovePos => inGameModel.MoveBlock(IOMovePos));

        inGameView.IOTransitionState.Subscribe(_ => inGameModel.TransitionState().Forget());
        inGameView.IOMatchBlock.Subscribe(_ => inGameModel.MatchBlock().Forget());
        inGameView.IOAddBlock.Subscribe(_ => inGameModel.AddBlock());

        inGameView.IODestroyBlock.Subscribe(_ => inGameModel.DestroyBlockAnimation().Forget());
        inGameView.IOChainBlock.Subscribe(_ => inGameModel.ChainBlock().Forget());
        inGameModel.IOTimerCount.Subscribe(IOTimerCount => inGameView.SetTimer(IOTimerCount));
        inGameModel.IOScore.Subscribe(IOScore => inGameView.SetScore(IOScore));
        inGameModel.IOHighCombo.Subscribe(IOHighCombo => inGameView.SetHigheCombo(IOHighCombo));
        inGameModel.IOSyntheticScore.Subscribe(IOSyntheticScore => inGameView.SetSyntheticScore(IOSyntheticScore));

        inGameView.IOfeverBlock.Subscribe(_ => inGameModel.isFeverTime());
        inGameView.IORequestUserScore.Subscribe(IORequestUserScore => playFabController.SubmitScore(IORequestUserScore));

        inGameModel.IOFeverAnimation.Subscribe(_ => inGameView.SetFeverTextAnimation());
        inGameModel.IODropCoinAnimationn.Subscribe(IODrop => dropCoinAnimation.AddCoins(IODrop.Item1, IODrop.Item2));
    }