コード例 #1
0
        public void GetByID_OneItem_ReturnsQuestPrerequisite()
        {
            // Arrange
            QuestPrerequisite entity = new QuestPrerequisite {
                ID = 1
            };

            // Act
            MessageHub.Instance.Publish(new OnCacheObjectSet <QuestPrerequisite>(entity));

            // Assert
            Assert.AreNotSame(entity, _cache.GetByID(1));
        }
コード例 #2
0
ファイル: QuestScript.cs プロジェクト: cryptic-alt/aura
        /// <summary>
        /// Adds prerequisite that has to be met before auto receiving the quest.
        /// </summary>
        /// <param name="prerequisite"></param>
        protected void AddPrerequisite(QuestPrerequisite prerequisite)
        {
            this.Prerequisites.Add(prerequisite);

            if (prerequisite is QuestPrerequisiteQuestCompleted)
            {
                ChannelServer.Instance.Events.PlayerCompletesQuest -= this.OnPlayerCompletesQuest;
                ChannelServer.Instance.Events.PlayerCompletesQuest += this.OnPlayerCompletesQuest;
            }

            if (prerequisite is QuestPrerequisiteReachedLevel || prerequisite is QuestPrerequisiteReachedTotalLevel)
            {
                ChannelServer.Instance.Events.CreatureLevelUp -= this.OnCreatureLevelUp;
                ChannelServer.Instance.Events.CreatureLevelUp += this.OnCreatureLevelUp;
            }
        }
コード例 #3
0
        public void GetByID_TwoItems_ReturnsCorrectObject()
        {
            // Arrange
            QuestPrerequisite entity1 = new QuestPrerequisite {
                ID = 1
            };
            QuestPrerequisite entity2 = new QuestPrerequisite {
                ID = 2
            };

            // Act
            MessageHub.Instance.Publish(new OnCacheObjectSet <QuestPrerequisite>(entity1));
            MessageHub.Instance.Publish(new OnCacheObjectSet <QuestPrerequisite>(entity2));

            // Assert
            Assert.AreNotSame(entity1, _cache.GetByID(1));
            Assert.AreNotSame(entity2, _cache.GetByID(2));
        }
コード例 #4
0
        public void GetByID_RemovedItem_ReturnsCorrectObject()
        {
            // Arrange
            QuestPrerequisite entity1 = new QuestPrerequisite {
                ID = 1
            };
            QuestPrerequisite entity2 = new QuestPrerequisite {
                ID = 2
            };

            // Act
            MessageHub.Instance.Publish(new OnCacheObjectSet <QuestPrerequisite>(entity1));
            MessageHub.Instance.Publish(new OnCacheObjectSet <QuestPrerequisite>(entity2));
            MessageHub.Instance.Publish(new OnCacheObjectDeleted <QuestPrerequisite>(entity1));

            // Assert
            Assert.Throws <KeyNotFoundException>(() => { _cache.GetByID(1); });
            Assert.AreNotSame(entity2, _cache.GetByID(2));
        }
コード例 #5
0
        public void GetByID_NoItems_ThrowsKeyNotFoundException()
        {
            // Arrange
            QuestPrerequisite entity1 = new QuestPrerequisite {
                ID = 1
            };
            QuestPrerequisite entity2 = new QuestPrerequisite {
                ID = 2
            };

            // Act
            MessageHub.Instance.Publish(new OnCacheObjectSet <QuestPrerequisite>(entity1));
            MessageHub.Instance.Publish(new OnCacheObjectSet <QuestPrerequisite>(entity2));
            MessageHub.Instance.Publish(new OnCacheObjectDeleted <QuestPrerequisite>(entity1));
            MessageHub.Instance.Publish(new OnCacheObjectDeleted <QuestPrerequisite>(entity2));

            // Assert
            Assert.Throws <KeyNotFoundException>(() => { _cache.GetByID(1); });
            Assert.Throws <KeyNotFoundException>(() => { _cache.GetByID(2); });
        }
コード例 #6
0
ファイル: QuestScript.cs プロジェクト: yukpiz/aura
        /// <summary>
        /// Adds prerequisite that has to be met before auto receiving the quest.
        /// </summary>
        /// <param name="prerequisite"></param>
        protected void AddPrerequisite(QuestPrerequisite prerequisite)
        {
            this.Prerequisites.Add(prerequisite);

            if (prerequisite.Is(typeof(QuestPrerequisiteQuestCompleted)))
            {
                ChannelServer.Instance.Events.PlayerCompletesQuest -= this.OnPlayerCompletesQuest;
                ChannelServer.Instance.Events.PlayerCompletesQuest += this.OnPlayerCompletesQuest;
            }

            if (prerequisite.Is(typeof(QuestPrerequisiteReachedLevel)) || prerequisite.Is(typeof(QuestPrerequisiteReachedTotalLevel)))
            {
                ChannelServer.Instance.Events.CreatureLevelUp -= this.OnCreatureLevelUp;
                ChannelServer.Instance.Events.CreatureLevelUp += this.OnCreatureLevelUp;
            }

            if (prerequisite.Is(typeof(QuestPrerequisiteReachedRank)))
            {
                ChannelServer.Instance.Events.SkillRankChanged -= this.OnSkillRankChanged;
                ChannelServer.Instance.Events.SkillRankChanged += this.OnSkillRankChanged;
            }
        }