Roses/Assets/Scripts/View/Dependencies.cs
2024-04-19 11:26:44 +02:00

40 lines
No EOL
1.3 KiB
C#

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; }
private void Awake() {
Score = new Score(10, 10);
IExpressionInput input = FindObjectOfType<ExpressionInput>();
IExpressionInput visibility = FindObjectOfType<UIVisibility>();
IExpressionInput inputCollections = new ExpressionInputCollection(new[] { input, visibility });
IRoseSpawner spawner = FindObjectOfType<RoseSpawner>();
IInputCallback growParticles = FindObjectOfType<GrowParticlesSpawner>();
IRoseGrow growAnimation = FindObjectOfType<GrowAnimation>();
ExpressionClick = new ExpressionClick(Score, inputCollections, spawner, growAnimation, growParticles);
CustomInput = new CustomInput();
PlayerPrefsRepository repository = new();
Saver = new SaveGame(repository, Score);
Loader = new LoadGame(repository, Score, inputCollections, spawner, growAnimation);
}
}
}