using System; using Domain; using Presenter; using Presenter.SaveSystem; using UnityEngine; using View.Collections; using View.Scene; using View.UI; namespace View { public class Dependencies : MonoBehaviour { public ExpressionClick ExpressionClick { private set; get; } public Score Score { private set; get; } public CustomInput CustomInput { private set; get; } public SaveGame Saver { private set; get; } public LoadGame Loader { private set; get; } public SpawnRose Spawner { private set; get; } private void Awake() { Score = new Score(10, 10); IScoreView input = FindObjectOfType(); IRoseSpawner spawner = FindObjectOfType(); IInputCallback visibility = FindObjectOfType(); IInputCallback growParticles = FindObjectOfType(); IInputCallback inputCallback = new InputCallbackCollection(new[] { visibility, growParticles }); IRoseGrow growAnimation = FindObjectOfType(); ExpressionClick = new ExpressionClick(Score, input, growAnimation, inputCallback); Spawner = new SpawnRose(Score, spawner); CustomInput = new CustomInput(); PlayerPrefsRepository repository = new(); Saver = new SaveGame(repository, Score); Loader = new LoadGame(repository, Score, input, spawner, growAnimation); } } }