Пример #1
0
        /// <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);
            }
        }
Пример #2
0
        /// <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);
            }
        }