public IEnumerator Initialize(IMatchSystem matchSystem, Mesh[] cardReferences, ILightAndCameraSystem lightAndCameraSystem) { _cardReferences = cardReferences; _matchSystem = matchSystem; OnUpdate += CheckGameEnd; lightAndCameraSystem.Initiallize(GetFieldCenterPosition()); yield return(CreateCards()); }
public BeginGameState(IRoot root, ILevelGenerator levelGenerator, ITurnSystem turnSystem, IMatchSystem matchSystem, IGameplayController gameplayController, IScoreSystem scoreSystem) { this.root = root; this.levelGenerator = levelGenerator; this.turnSystem = turnSystem; this.matchSystem = matchSystem; this.gameplayController = gameplayController; this.scoreSystem = scoreSystem; }
private void Awake() { _livesSystem = new LivesSystem(); _scoreSystem = new ScoreSystem(); _matchSystem = new MatchSystem(_livesSystem, _scoreSystem); _playField = GetComponent <IPlayField>(); _saveManager = GetComponent <ISaveManager>(); _inputSystem = GetComponent <IInputSystem>(); _roundUiManager = GetComponent <IRoundUiManager>(); _gameSceneManager = GetComponent <IGameSceneManager>(); _lightAndCameraSystem = GetComponent <ILightAndCameraSystem>(); _cardMeshes = GetComponent <CardReferences>().GetCardObjects(); StartCoroutine(InitializeRound()); }