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)); }