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); }