private AnimationScreen CreateDummyAnimation(int NumberOfUnits)
        {
            UnitConquest    DummyUnit      = new UnitConquest();
            AnimationScreen DummyAnimation = new AnimationScreen("", DummyUnit, "", false);

            DummyAnimation.ListAnimationLayer             = new AnimationClass.AnimationLayerHolder();
            DummyAnimation.ListAnimationLayer.EngineLayer = AnimationClass.GameEngineLayer.EmptyGameEngineLayer(DummyAnimation);

            DummyAnimation.LoopEnd = 240;
            DummyAnimation.AnimationOrigin.Position = new Vector2(580, 300);
            DummyAnimation.AnimationOrigin.DicAnimationKeyFrame[0].Position = new Vector2(580, 300);

            AnimationClass.AnimationLayer DummyLayer = new AnimationClass.AnimationLayer(DummyAnimation, "Layer 1");

            DummyAnimation.ListAnimationLayer.Add(DummyLayer);

            for (int i = 0; i < NumberOfUnits; ++i)
            {
                DummyLayer.AddTimelineEvent(0, CreateDummyMarkerTimeline(new Vector2(Constants.Width - 50 - (i % 2) * 50, 40 + i * 100)));
            }

            DummyAnimation.UpdateKeyFrame(0);

            return(DummyAnimation);
        }
        private void CreateDummyAnimation(Squad DummySquad, Squad EnemySquad, int AnimationIndex = 0)
        {
            this.DummySquad = DummySquad;
            this.EnemySquad = EnemySquad;

            DummyAnimation = new AnimationScreen("", DummyMap, DummySquad,
                                                 EnemySquad, DummySquad.CurrentLeader.CurrentAttack,
                                                 new GameScreens.BattleMapScreen.BattleMap.SquadBattleResult(), new AnimationScreen.AnimationUnitStats(DummySquad, EnemySquad, false), null, null, "", false);

            DummyAnimation.ListAnimationLayer             = new AnimationClass.AnimationLayerHolder();
            DummyAnimation.ListAnimationLayer.EngineLayer = AnimationClass.GameEngineLayer.EmptyGameEngineLayer(DummyAnimation);

            DummyAnimation.LoopEnd = 30;
            DummyAnimation.AnimationOrigin.Position = new Vector2(580, 300);
            DummyAnimation.AnimationOrigin.DicAnimationKeyFrame[0].Position = new Vector2(580, 300);

            DummyLayer = new AnimationClass.AnimationLayer(DummyAnimation, "Layer 1");

            if (AnimationIndex > 0)
            {
                MarkerTimeline DummyMarker = CreateDummyMarkerTimeline();
                DummyLayer.AddTimelineEvent(0, DummyMarker);
            }

            DummyAnimation.ListAnimationLayer.Add(DummyLayer);

            DummyAnimation.UpdateKeyFrame(0);

            foreach (KeyValuePair <int, Timeline> ActiveExtraTimeline in DummySquad.CurrentLeader.ListAttack[1].Animations[0].Animations.ArrayAnimationPath[AnimationIndex].GetExtraTimelines(DummyAnimation))
            {
                DummyLayer.AddTimelineEvent(ActiveExtraTimeline.Key, ActiveExtraTimeline.Value);
            }
        }
        public void TestAnimationScreen()
        {
            AnimationScreen DummyAnimation = CreateDummyAnimation(4);

            for (int i = 0; i < 60; ++i)
            {
                DummyAnimation.Update(new GameTime());

                Assert.AreEqual(4, DummyAnimation.ListAnimationLayer[0].ListActiveMarker.Count);
            }
        }
        private BattleAnimationScreen CreateBattleAnimationScreen(out AnimationScreen ActiveUnitAnimation, out AnimationScreen EnemyUnitAnimation)
        {
            ActiveUnitAnimation = CreateDummyAnimation(4);
            AnimationScreen ActiveUnitAnimationAfterDamage = CreateDummyAnimation(2);
            AnimationScreen ActiveUnitAnimationDeath       = CreateDummyAnimation(1);

            EnemyUnitAnimation = CreateDummyAnimation(4);
            AnimationScreen EnemyUnitAnimationAfterDamage = CreateDummyAnimation(2);
            AnimationScreen EnemyUnitAnimationDeath       = CreateDummyAnimation(1);

            BattleAnimationScreen DummyBattleAnimationScreen = new BattleAnimationScreen(null, null, null, "", false, ActiveUnitAnimation, EnemyUnitAnimation);

            //BattleAnimationScreen.InitBattleAnimation(EnemyUnitAnimation, EnemyUnitAnimationAfterDamage, EnemyUnitAnimationDeath);
            //BattleAnimationScreen.InitBattleAnimation(ActiveUnitAnimation, ActiveUnitAnimationAfterDamage, ActiveUnitAnimationDeath);

            return(DummyBattleAnimationScreen);
        }