/// <summary> /// Receives data layer implementation as dependency. /// </summary> /// <param name="dataLayer"></param> /// <param name="questFactory"></param> public QuestTreeInMemory(IQuestDataLayer dataLayer, IQuestFactory questFactory) { dataLayer.ThrowIfNull(nameof(dataLayer)); questFactory.ThrowIfNull(nameof(questFactory)); _dataLayer = dataLayer; _questFactory = questFactory; _flatQuestTree = new List <Quest>(); _toRemove = new HashSet <Quest>(); _toAdd = new HashSet <Quest>(); _toUpdate = new HashSet <Quest>(); }
/// <summary> /// Receives dependency on IQuestFactory. /// </summary> /// <param name="questFactory"></param> public QuestViewModelFactory(IQuestFactory questFactory) { questFactory.ThrowIfNull(nameof(questFactory)); _questFactory = questFactory; }