public void ExpiryRemovesOnlyExpiredImpacts()
        {
            var im = new ImpactMatrixManager();

            var impact1 = (PlayerImpact)SamplePlayerImpact.Clone();

            impact1.ExpiryTimestamp = (int)(BaseDateTime - EpochDateTime).TotalSeconds - 120;
            var returnValue1 = im.UpdateMatrix(123, impact1);

            var impact2 = (PlayerImpact)SamplePlayerImpact.Clone();

            impact2.ExpiryTimestamp = (int)(BaseDateTime - EpochDateTime).TotalSeconds - 120;
            var returnValue2 = im.UpdateMatrix(124, impact2);

            // Back to "now"
            var impact3 = (PlayerImpact)SamplePlayerImpact.Clone();

            impact3.ExpiryTimestamp = (int)(BaseDateTime - EpochDateTime).TotalSeconds + 60;
            var returnValue3 = im.UpdateMatrix(125, impact3);

            var numberRemoved = im.ExpireImpacts((int)(BaseDateTime - EpochDateTime).TotalSeconds);

            Assert.IsTrue(numberRemoved == 2);
            // Expect this to work.
            var validImpact = im.ImpactMatrix[125];

            Assert.IsTrue(validImpact.Count == 1);
            Assert.IsTrue(validImpact[0].CharacterId == 999);
        }
        public void EmptyReadThrowsException()
        {
            var im           = new ImpactMatrixManager();
            var returnValue2 = im.ImpactMatrix[123];

            Assert.IsNull(returnValue2);
        }
        public void AddMultipleCharacterImpacts()
        {
            var im = new ImpactMatrixManager();

            var impact1      = (PlayerImpact)SamplePlayerImpact.Clone();
            var returnValue1 = im.UpdateMatrix(123, impact1);

            var impact2      = (PlayerImpact)SamplePlayerImpact.Clone();
            var returnValue2 = im.UpdateMatrix(123, impact2);

            var impact3 = (PlayerImpact)SamplePlayerImpact.Clone();

            impact3.CharacterId = 998;
            impact3.ImpactValue = 1200;
            // Now have 2 impacts from 999 (additive) and one from 998
            var returnValue3 = im.UpdateMatrix(123, impact3);

            var impact4      = (PlayerImpact)SamplePlayerImpact.Clone();
            var returnValue4 = im.UpdateMatrix(123, impact4);

            var impactList = im.ImpactMatrix[123];

            foreach (var playerImpact in impactList)
            {
                if (playerImpact.CharacterId == 998)
                {
                    Assert.IsTrue(playerImpact.ImpactValue == 1200);
                }
                if (playerImpact.CharacterId == 999)
                {
                    Assert.IsTrue(playerImpact.ImpactValue == 1500);
                }
            }
        }
        public void ExpireEmptyImpactMatrixDoesNotFail()
        {
            var im            = new ImpactMatrixManager();
            var numberRemoved = im.ExpireImpacts((int)(BaseDateTime - EpochDateTime).TotalSeconds + 60);

            Assert.IsTrue(numberRemoved == 0);
        }
        public void ReturnGetKillImpacts()
        {
            var im = new ImpactMatrixManager();

            var impact1      = (PlayerImpact)SamplePlayerImpact.Clone();
            var returnValue1 = im.UpdateMatrix(123, impact1);

            var impact2      = (PlayerImpact)SamplePlayerImpact.Clone();
            var returnValue2 = im.UpdateMatrix(123, impact2);

            var impact3 = (PlayerImpact)SamplePlayerImpact.Clone();

            impact3.CharacterId = 998;
            impact3.ImpactValue = 1200;
            // Now have 2 impacts from 999 (additive) and one from 998
            var returnValue3 = im.UpdateMatrix(123, impact3);
            var impact4      = (PlayerImpact)SamplePlayerImpact.Clone();
            var returnValue4 = im.UpdateMatrix(123, impact4);

            Assert.IsTrue(im.ImpactMatrix[123].Count == 2);

            var killImpacts = im.GetKillImpacts(123);

            Assert.IsTrue(killImpacts.Count == 2);
        }
        public void ExpiryRemovesImpacts()
        {
            var im = new ImpactMatrixManager();

            SamplePlayerImpact.ExpiryTimestamp = (int)(BaseDateTime - EpochDateTime).TotalSeconds - 120;
            var returnValue   = im.UpdateMatrix(123, SamplePlayerImpact);
            var numberRemoved = im.ExpireImpacts((int)(BaseDateTime - EpochDateTime).TotalSeconds + 60);
            var returnValue2  = im.ImpactMatrix[123];
        }
        public void NonExistantKeyThrowsException()
        {
            var im          = new ImpactMatrixManager();
            var returnValue = im.UpdateMatrix(123, SamplePlayerImpact);

            Assert.IsNotNull(returnValue);
            var returnValue2 = im.ImpactMatrix[124];

            Assert.IsNotNull(returnValue2);
        }
        public void ExpireDoesEffectsExpiredImpacts()
        {
            var im = new ImpactMatrixManager();

            SamplePlayerImpact.ExpiryTimestamp = (int)(BaseDateTime - EpochDateTime).TotalSeconds - 120;
            var returnValue   = im.UpdateMatrix(123, SamplePlayerImpact);
            var numberRemoved = im.ExpireImpacts((int)(BaseDateTime - EpochDateTime).TotalSeconds + 60);

            Assert.IsTrue(numberRemoved == 1);
        }
        public void TestModificationValue()
        {
            var im = new ImpactMatrixManager();

            Assert.IsTrue(Math.Abs(im.CalculateModificationValue(40, 160) - 0.9657842847f) < 0.01);
            Assert.IsTrue(Math.Abs(im.CalculateModificationValue(40, 180) - 0.8685198516) < 0.01);
            Assert.IsTrue(Math.Abs(im.CalculateModificationValue(40, 40) - 3) < 0.01);
            Assert.IsTrue(Math.Abs(im.CalculateModificationValue(360, 40) - 9.965784285) < 0.01);
            Assert.IsTrue(Math.Abs(im.CalculateModificationValue(300, 200) - 3.965784285) < 0.01);
        }
        public void AddSingleImpactWorks()
        {
            var im          = new ImpactMatrixManager();
            var returnValue = im.UpdateMatrix(123, SamplePlayerImpact);

            Assert.IsNotNull(returnValue);
            Assert.IsTrue(returnValue.ImpactValue == 500);
            Assert.IsTrue(returnValue.ModificationValue == 1.2f);
            Assert.IsTrue(returnValue.ExpiryTimestamp == SamplePlayerImpact.ExpiryTimestamp);
        }
        public void ExpireDoesNotEffectCurrentImpacts()
        {
            var im      = new ImpactMatrixManager();
            var impact1 = (PlayerImpact)SamplePlayerImpact.Clone();

            impact1.ExpiryTimestamp = (int)(BaseDateTime - EpochDateTime).TotalSeconds + 60;
            var returnValue   = im.UpdateMatrix(123, impact1);
            var numberRemoved = im.ExpireImpacts((int)(BaseDateTime - EpochDateTime).TotalSeconds);

            Assert.IsTrue(numberRemoved == 0);
        }
        public void AddSingleImpactUnderMinimumNotAdded()
        {
            var im      = new ImpactMatrixManager();
            var impact4 = (PlayerImpact)SamplePlayerImpact.Clone();

            impact4.CharacterId = (uint)(20000);
            impact4.ImpactValue = 20;
            im.UpdateMatrix(123, impact4);

            // Expect this to throw an exception as the amount was too low and not added.
            var returnValue2 = im.ImpactMatrix[123];
        }
Beispiel #13
0
 public LowerTierCampaignManager(List <RVRProgression> _RVRT1Progressions, List <RegionMgr> regionMgrs)
 {
     BattleFrontProgressions = _RVRT1Progressions;
     RegionMgrs                  = regionMgrs;
     BattleFrontStatuses         = new List <BattleFrontStatus>();
     ImpactMatrixManagerInstance = new ImpactMatrixManager();
     BountyManagerInstance       = new BountyManager();
     if (_RVRT1Progressions != null)
     {
         BuildApocBattleFrontStatusList(BattleFrontProgressions);
     }
 }
        public UpperTierCampaignManager(List <RVRProgression> _RVRT4Progressions, List <RegionMgr> regionMgrs)
        {
            BattleFrontProgressions = _RVRT4Progressions;
            RegionMgrs                  = regionMgrs;
            BattleFrontStatuses         = new List <BattleFrontStatus>();
            ImpactMatrixManagerInstance = new ImpactMatrixManager();
            BountyManagerInstance       = new BountyManager();
            if (_RVRT4Progressions != null)
            {
                BuildApocBattleFrontStatusList(BattleFrontProgressions);
            }

            LastAAORallyCall = FrameWork.TCPManager.GetTimeStamp();

            _EvtInterface.AddEvent(BroadcastPlayerMessages, 600000, 0);
        }
Beispiel #15
0
        public BattleFrontStatus(ImpactMatrixManager impactMatrixManager, int battleFrontId)
        {
            ImpactMatrixManagerInstance = impactMatrixManager;
            BattleFrontId = battleFrontId;

            ContributionManagerInstance = PlayerContributionManager.LoadPlayerContribution(battleFrontId);

            RewardManagerInstance = new RewardManager(ContributionManagerInstance, new StaticWrapper(), RewardService._RewardPlayerKills, ImpactMatrixManagerInstance);

            KeepList = new List <Keep_Info>();
            BattlefieldObjectives = new List <BattleFront_Objective>();
            if (battleFrontId != 0)
            {
                BattleFrontId = battleFrontId;
            }
        }
        public void DoubleImpactUpdatesAsExpected()
        {
            var im          = new ImpactMatrixManager();
            var returnValue = im.UpdateMatrix(123, SamplePlayerImpact);

            Assert.IsNotNull(returnValue);
            Assert.IsTrue(returnValue.ImpactValue == 500);
            Assert.IsTrue(returnValue.ModificationValue == 1.2f);
            Assert.IsTrue(returnValue.ExpiryTimestamp == SamplePlayerImpact.ExpiryTimestamp);

            var returnValue2 = im.UpdateMatrix(123, SamplePlayerImpact);

            Assert.IsNotNull(returnValue2);
            Assert.IsTrue(returnValue2.ImpactValue == 1000);
            Assert.IsTrue(returnValue2.ModificationValue == 1.2f);
            Assert.IsTrue(returnValue2.ExpiryTimestamp == SamplePlayerImpact.ExpiryTimestamp);
        }
        public void AddLowImpactToExistingListNotAdded()
        {
            var im      = new ImpactMatrixManager();
            var impact3 = (PlayerImpact)SamplePlayerImpact.Clone();

            impact3.CharacterId = (uint)(20000);
            impact3.ImpactValue = 2000;
            im.UpdateMatrix(123, impact3);

            var impact4 = (PlayerImpact)SamplePlayerImpact.Clone();

            impact4.CharacterId = (uint)(20000);
            impact4.ImpactValue = 20;
            im.UpdateMatrix(123, impact4);
            var returnValue2 = im.ImpactMatrix[123];

            Assert.IsTrue(returnValue2.Count == 1);
            Assert.IsTrue(returnValue2[0].ImpactValue == 2000);
        }
        public void ReturnGetKillImpactsLargeList()
        {
            var im = new ImpactMatrixManager();

            // Create 20 impacts
            for (int i = 0; i < 20; i++)
            {
                var impact3 = (PlayerImpact)SamplePlayerImpact.Clone();
                impact3.CharacterId = (uint)(10000 + i);
                im.UpdateMatrix(123, impact3);
            }
            var killImpacts = im.GetKillImpacts(123);

            Assert.IsTrue(killImpacts.Count == 20);

            var impact4 = (PlayerImpact)SamplePlayerImpact.Clone();

            impact4.CharacterId = (uint)(20000);
            im.UpdateMatrix(123, impact4);

            var killImpacts2 = im.GetKillImpacts(123);

            Assert.IsTrue(killImpacts2.Count == 20);
        }