public Synchronizer(SuperMonoBehaviour superMonoBehaviour, IModelInteraction <T> model, ReaderWriter <T> readerWriter) : base(superMonoBehaviour) { this.model = model ?? throw new ArgumentNullException(nameof(model)); this.readerWriter = readerWriter ?? throw new ArgumentNullException(nameof(readerWriter)); ChooseDataInfo = superMonoBehaviour.CreateCoroutineContainer(); }
void IDataFromStorageToModelUpdater.UpdateModel() { readerWriter.ReadAllData(receivedData => { IModelInteraction modelInteraction = dataHandlerInteraction.LastGamingSessions; modelInteraction.SetData(new PlayerGameData(CombineDataFromStorages(modelInteraction.GetData(), receivedData))); }); }