/// <summary> /// Initializes a new instance of the <see cref="World"/> class. /// </summary> /// <param name="getTime">Interface to get the current time.</param> /// <param name="camera">Primary world view camera.</param> /// <param name="userInfo">The user info. Can be null.</param> public World(IGetTime getTime, ICamera2D camera, UserInfo userInfo) { _userInfo = userInfo; _getTime = getTime; _camera = camera; MapDrawingExtensions.Add(new EmoticonMapDrawingExtension<Emoticon, EmoticonInfo<Emoticon>>(_emoticonDisplayManager)); if (userInfo != null) { Func<QuestID, bool> questStartReqs = x => UserInfo.HasStartQuestRequirements.HasRequirements(x) ?? false; Func<QuestID, bool> questFinishReqs = x => UserInfo.QuestInfo.ActiveQuests.Contains(x) && (UserInfo.HasFinishQuestRequirements.HasRequirements(x) ?? false); var e = new QuestMapDrawingExtension<Character>(userInfo.QuestInfo, questStartReqs, questFinishReqs, m => m.Spatial.GetMany<Character>(m.Camera.GetViewArea(), c => !c.ProvidedQuests.IsEmpty()), c => c.ProvidedQuests) { QuestAvailableCanStartIndicator = new Grh(GrhInfo.GetData("Quest", "can start")), QuestStartedIndicator = new Grh(GrhInfo.GetData("Quest", "started")), QuestAvailableCannotStartIndicator = new Grh(GrhInfo.GetData("Quest", "cannot start")), QuestTurnInIndicator = new Grh(GrhInfo.GetData("Quest", "turnin")) }; MapDrawingExtensions.Add(e); } }
/// <summary> /// Initializes a new instance of the <see cref="World"/> class. /// </summary> /// <param name="getTime">Interface to get the current time.</param> /// <param name="camera">Primary world view camera.</param> /// <param name="userInfo">The user info. Can be null.</param> public World(IGetTime getTime, ICamera2D camera, UserInfo userInfo) { _userInfo = userInfo; _getTime = getTime; _camera = camera; MapDrawingExtensions.Add(new EmoticonMapDrawingExtension <Emoticon, EmoticonInfo <Emoticon> >(_emoticonDisplayManager)); if (userInfo != null) { Func <QuestID, bool> questStartReqs = x => UserInfo.HasStartQuestRequirements.HasRequirements(x) ?? false; Func <QuestID, bool> questFinishReqs = x => UserInfo.QuestInfo.ActiveQuests.Contains(x) && (UserInfo.HasFinishQuestRequirements.HasRequirements(x) ?? false); var e = new QuestMapDrawingExtension <Character>(userInfo.QuestInfo, questStartReqs, questFinishReqs, m => m.Spatial.GetMany <Character>(m.Camera.GetViewArea(), c => !c.ProvidedQuests.IsEmpty()), c => c.ProvidedQuests) { QuestAvailableCanStartIndicator = new Grh(GrhInfo.GetData("Quest", "can start")), QuestStartedIndicator = new Grh(GrhInfo.GetData("Quest", "started")), QuestAvailableCannotStartIndicator = new Grh(GrhInfo.GetData("Quest", "cannot start")), QuestTurnInIndicator = new Grh(GrhInfo.GetData("Quest", "turnin")) }; MapDrawingExtensions.Add(e); } }