private MarkerTimeline CreateDummyMarkerTimeline()
        {
            MarkerTimeline DummyTimeline = new MarkerTimeline();

            DummyTimeline.DeathFrame = 60;

            Squad DummySquad = CreateDummySquad();
            Squad EnemySquad = CreateDummySquad();

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

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

            DummyTimeline.AnimationMarker.LoopEnd = 60;
            DummyTimeline.AnimationMarker.AnimationOrigin.Position = new Vector2(580, 300);
            DummyTimeline.AnimationMarker.AnimationOrigin.DicAnimationKeyFrame[0].Position = new Vector2(580, 300);
            DummyTimeline.Add(0, new VisibleAnimationObjectKeyFrame(new Vector2(50, 300), true, -1));

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

            DummyLayer.AddTimelineEvent(0, new BlankTimeline(580, 300, 30, 50));

            DummyTimeline.AnimationMarker.ListAnimationLayer.Add(DummyLayer);

            return(DummyTimeline);
        }
        private MarkerTimeline CreateDummyMarkerTimeline(Vector2 Position)
        {
            MarkerTimeline DummyTimeline = new MarkerTimeline();

            DummyTimeline.DeathFrame = 60;

            DummyTimeline.AnimationMarker = new AnimationClass("");

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

            DummyTimeline.AnimationMarker.LoopEnd = 60;
            DummyTimeline.AnimationMarker.AnimationOrigin.Position = new Vector2(580, 300);
            DummyTimeline.AnimationMarker.AnimationOrigin.DicAnimationKeyFrame[0].Position = new Vector2(580, 300);
            DummyTimeline.Add(0, new VisibleAnimationObjectKeyFrame(Position, true, -1));
            DummyTimeline.Position = Position;

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

            DummyLayer.AddTimelineEvent(0, new BlankTimeline(580, 300, 30, 50));

            DummyTimeline.AnimationMarker.ListAnimationLayer.Add(DummyLayer);

            return(DummyTimeline);
        }
        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);
            }
        }
示例#4
0
        public static void InitBattleAnimation(AnimationClass EnemyUnitAnimation, AnimationClass EnemyUnitAnimationAfterDamage, string EnemyUnitDeathAnimation)
        {
            int NumberOfEnemies            = EnemyUnitAnimation.ListAnimationLayer[0].ListActiveMarker.Count;
            int NumberOfEnemiesAfterDamage = EnemyUnitAnimationAfterDamage.ListAnimationLayer[0].ListActiveMarker.Count;
            int NumberOfDeadEnemies        = NumberOfEnemies - NumberOfEnemiesAfterDamage;

            List <int> ListUnitAnimationIndex = new List <int>();
            Random     Random     = new Random();
            int        DeathFrame = EnemyUnitAnimation.ListAnimationLayer[0].ListActiveMarker[0].DeathFrame;

            for (int i = 0; i < NumberOfEnemies; ++i)
            {
                ListUnitAnimationIndex.Add(i);
            }

            for (int i = 0; i < NumberOfDeadEnemies; ++i)
            {
                int            ActiveIndex        = ListUnitAnimationIndex[Random.Next(ListUnitAnimationIndex.Count)];
                MarkerTimeline ActiveUnitTimeline = EnemyUnitAnimation.ListAnimationLayer[0].ListActiveMarker[ActiveIndex];

                ActiveUnitTimeline.AnimationMarker             = new AnimationClass(EnemyUnitDeathAnimation);
                ActiveUnitTimeline.AnimationMarker.DicTimeline = EnemyUnitAnimation.DicTimeline;
                ActiveUnitTimeline.AnimationMarker.Load();
            }
        }
示例#5
0
        public override void Load()
        {
            fntFinlanderFont = Content.Load <SpriteFont>("Fonts/Finlander Font");

            foreach (KeyValuePair <string, Timeline> Timeline in LoadTimelines(typeof(CoreTimeline)))
            {
                if (Timeline.Value is AnimationOriginTimeline)
                {
                    continue;
                }

                DicTimeline.Add(Timeline.Key, Timeline.Value);
            }

            base.Load();

            InitRessources();

            for (int L = ListAnimationLayer.Count - 1; L >= 0; --L)
            {
                #region Markers

                foreach (List <Timeline> ListActiveEvent in ListAnimationLayer[L].DicTimelineEvent.Values)
                {
                    foreach (Timeline ActiveTimeline in ListActiveEvent)
                    {
                        MarkerTimeline ActiveMarkerEvent = ActiveTimeline as MarkerTimeline;
                        if (ActiveMarkerEvent == null)
                        {
                            continue;
                        }

                        switch (ActiveMarkerEvent.MarkerType)
                        {
                        case "Card":
                            ActiveMarkerEvent.Sprite = sprEnemyCard;
                            break;
                        }
                        ActiveMarkerEvent.Sprite = sprEnemyCard;
                    }
                }

                #endregion

                #region Init renderTarget

                ListAnimationLayer[L].renderTarget = new RenderTarget2D(
                    GraphicsDevice,
                    GraphicsDevice.PresentationParameters.BackBufferWidth,
                    GraphicsDevice.PresentationParameters.BackBufferHeight);

                #endregion
            }
        }
        public override void Load()
        {
            if (IsLoaded)
            {
                return;
            }

            IsLoaded = true;

            fntFinlanderFont           = Content.Load <SpriteFont>("Fonts/Finlander Font");
            sprBarExtraLargeBackground = Content.Load <Texture2D>("Battle/Bars/Extra Long Bar");
            sprBarExtraLargeEN         = Content.Load <Texture2D>("Battle/Bars/Extra Long Energy");
            sprBarExtraLargeHP         = Content.Load <Texture2D>("Battle/Bars/Extra Long Health");
            sprInfinity = Content.Load <Texture2D>("Battle/Infinity");

            foreach (KeyValuePair <string, Timeline> Timeline in LoadTimelines(typeof(CoreTimeline)))
            {
                if (Timeline.Value is AnimationOriginTimeline)
                {
                    continue;
                }

                DicTimeline.Add(Timeline.Key, Timeline.Value);
            }

            foreach (KeyValuePair <string, Timeline> Timeline in LoadTimelines(typeof(DeathmatchMapTimeline), this, Content))
            {
                DicTimeline.Add(Timeline.Key, Timeline.Value);
            }

            base.Load();

            InitRessources();

            Unit ActiveUnit = AttackingSquad.CurrentLeader;
            Unit EnemyUnit  = EnemySquad.CurrentLeader;

            for (int L = ListAnimationLayer.Count - 1; L >= 0; --L)
            {
                #region Markers

                foreach (List <Timeline> ListActiveEvent in ListAnimationLayer[L].DicTimelineEvent.Values)
                {
                    foreach (Timeline ActiveTimeline in ListActiveEvent)
                    {
                        MarkerTimeline ActiveMarkerEvent = ActiveTimeline as MarkerTimeline;
                        if (ActiveMarkerEvent == null)
                        {
                            continue;
                        }

                        string AnimationPath = "";

                        switch (ActiveMarkerEvent.MarkerType)
                        {
                        case "Support Stand":
                        case "Support Standing":
                        case "Enemy Standing":
                        case "Enemy Stand":
                        case "Enemy Default":
                            ActiveMarkerEvent.AnimationMarker = new AnimationClass(EnemyUnit.Animations.Default.AnimationName);
                            break;

                        case "Enemy Wingman A Standing":
                        case "Enemy Wingman 1 Standing":
                            if (EnemySquad.CurrentWingmanA != null)
                            {
                                ActiveMarkerEvent.AnimationMarker = new AnimationClass(EnemySquad.CurrentWingmanA.Animations.Default.AnimationName);
                            }
                            break;

                        case "Enemy Wingman B Standing":
                        case "Enemy Wingman 2 Standing":
                            if (EnemySquad.CurrentWingmanB != null)
                            {
                                ActiveMarkerEvent.AnimationMarker = new AnimationClass(EnemySquad.CurrentWingmanB.Animations.Default.AnimationName);
                            }
                            break;

                        case "Enemy Hit":
                            if (BattleResult.ArrayResult[0].AttackMissed)
                            {
                                AnimationPath = EnemyUnit.Animations.Default.AnimationName;
                            }
                            else
                            {
                                AnimationPath = EnemyUnit.Animations.Hit.AnimationName;
                            }
                            if (File.Exists("Content/Animations/" + AnimationPath + ".pea"))
                            {
                                ActiveMarkerEvent.AnimationMarker = new AnimationClass(AnimationPath);
                            }
                            else
                            {
                                ActiveMarkerEvent.AnimationMarker = new AnimationClass(EnemyUnit.Animations.Default.AnimationName);
                            }
                            break;

                        case "Player Stand":
                        case "Player Standing":
                        case "Player Default":
                            ActiveMarkerEvent.AnimationMarker = new AnimationClass(ActiveUnit.Animations.Default.AnimationName);
                            break;

                        default:
                            AnimationPath = EnemyUnit.Animations.Default.AnimationName;
                            if (ActiveMarkerEvent.MarkerType.StartsWith("Player "))
                            {
                                AnimationPath = ActiveMarkerEvent.MarkerType.Split(new string[] { "Player " }, StringSplitOptions.RemoveEmptyEntries)[0];
                            }
                            ActiveMarkerEvent.AnimationMarker = new AnimationClass(AnimationPath);
                            break;
                        }
                        ActiveMarkerEvent.AnimationMarker.DicTimeline = DicTimeline;
                        ActiveMarkerEvent.AnimationMarker.Load();
                    }
                }

                #endregion

                #region Quotes

                foreach (QuoteSetTimeline.QuoteSetKeyFrame ActiveKeyFrame in ((QuoteSetTimeline)ListAnimationLayer.EngineLayer.DicTimelineEvent[0][1]).DicAnimationKeyFrame.Values)
                {
                    Quote ActiveQuote   = ActiveKeyFrame.QuoteSet;
                    int   QuoteSetIndex = 0;
                    int   QuoteSetCount = 0;

                    //Once a Quote is selected, keep it, if random quotes are needed, use multiple QuoteSet.
                    //If the number of QuoteSet changed, assume the user did something wrong and get a new index.
                    if (ActiveQuote.ListQuoteSet.Count > 1 && QuoteSetCount != ActiveQuote.ListQuoteSet.Count)
                    {
                        QuoteSetCount = ActiveQuote.ListQuoteSet.Count;
                        QuoteSetIndex = Random.Next(ActiveQuote.ListQuoteSet.Count);
                        ActiveQuote.SelectedQuoteSet = QuoteSetIndex;
                    }

                    Quote.Targets ActiveTarget   = ActiveQuote.Target;
                    QuoteSet      ActiveQuoteSet = ActiveQuote.ActiveQuoteSet;

                    Character ActivePilot = ActiveUnit.Pilot;
                    Character EnemyPilot  = EnemyUnit.Pilot;
                    if (ActiveTarget == Quote.Targets.Defender)
                    {
                        ActivePilot = EnemyUnit.Pilot;
                        EnemyPilot  = ActiveUnit.Pilot;
                    }

                    bool UseRandomIndex             = !ActiveQuoteSet.QuoteSetUseLast && ActiveQuoteSet.QuoteSetChoice == QuoteSet.QuoteSetChoices.Random;
                    QuoteSet.QuoteStyles QuoteStyle = ActiveQuoteSet.QuoteStyle;
                    int QuoteIndex = 0;
                    if (ActiveQuoteSet.QuoteSetChoice == QuoteSet.QuoteSetChoices.Fixed)
                    {
                        QuoteIndex = ActiveQuoteSet.QuoteSetChoiceValue;
                    }

                    Tuple <string, string> ActiveQuoteTuple;

                    switch (QuoteStyle)
                    {
                    case QuoteSet.QuoteStyles.Reaction:
                        QuoteTypes ActiveQuoteType = QuoteTypes.Damaged;
                        ActiveQuoteTuple         = GetQuote(ActiveQuoteType, ActivePilot, EnemyPilot, UseRandomIndex, ref QuoteIndex);
                        ActiveQuote.ActiveText   = ActiveQuoteTuple.Item2;
                        ActiveQuote.PortraitPath = ActiveQuoteTuple.Item1;
                        break;

                    case QuoteSet.QuoteStyles.QuoteSet:
                        ActiveQuoteTuple         = GetAttackQuote(ActiveQuoteSet.QuoteSetName, ActivePilot, EnemyPilot, UseRandomIndex, ref QuoteIndex);
                        ActiveQuote.ActiveText   = ActiveQuoteTuple.Item2;
                        ActiveQuote.PortraitPath = ActiveQuoteTuple.Item1;
                        break;

                    case QuoteSet.QuoteStyles.Custom:
                        ActiveQuote.ActiveText = ActiveQuoteSet.CustomText;
                        break;

                    case QuoteSet.QuoteStyles.MoveIn:
                        ActiveQuoteTuple         = GetQuote(QuoteTypes.BattleStart, ActivePilot, EnemyPilot, UseRandomIndex, ref QuoteIndex);
                        ActiveQuote.ActiveText   = ActiveQuoteTuple.Item2;
                        ActiveQuote.PortraitPath = ActiveQuoteTuple.Item1;
                        break;
                    }

                    if (!string.IsNullOrEmpty(ActiveQuote.PortraitPath))
                    {
                        if (ActiveQuote.PortraitPath.StartsWith("Animations"))
                        {
                            ActiveQuote.ActiveCharacter = new SimpleAnimation("", ActiveQuote.PortraitPath, new AnimationLooped(ActiveQuote.PortraitPath));
                            ActiveQuote.ActiveCharacter.ActiveAnimation.Content = Content;
                            ActiveQuote.ActiveCharacter.ActiveAnimation.Load();
                        }
                        else
                        {
                            ActiveQuote.ActiveCharacter = new SimpleAnimation("", ActiveQuote.PortraitPath, Content.Load <Texture2D>(ActiveQuote.PortraitPath));
                        }
                    }
                }

                #endregion

                #region Init renderTarget

                ListAnimationLayer[L].renderTarget = new RenderTarget2D(
                    GraphicsDevice,
                    GraphicsDevice.PresentationParameters.BackBufferWidth,
                    GraphicsDevice.PresentationParameters.BackBufferHeight);

                #endregion
            }
        }
        public override void Load()
        {
            foreach (KeyValuePair <string, Timeline> Timeline in LoadTimelines(typeof(CoreTimeline)))
            {
                if (Timeline.Value is AnimationOriginTimeline)
                {
                    continue;
                }

                DicTimeline.Add(Timeline.Key, Timeline.Value);
            }

            base.Load();

            InitRessources();

            for (int L = ListAnimationLayer.Count - 1; L >= 0; --L)
            {
                #region Markers

                foreach (List <Timeline> ListActiveEvent in ListAnimationLayer[L].DicTimelineEvent.Values)
                {
                    foreach (Timeline ActiveTimeline in ListActiveEvent)
                    {
                        MarkerTimeline ActiveMarkerEvent = ActiveTimeline as MarkerTimeline;
                        if (ActiveMarkerEvent == null)
                        {
                            continue;
                        }

                        switch (ActiveMarkerEvent.MarkerType)
                        {
                        case "Player Idle":
                        case "Player Stand":
                        case "Player Standing":
                        case "Player Default":
                            ActiveMarkerEvent.AnimationMarker = new AnimationClass("Conquest/" + ActiveUnit.ArmourType + "/Idle");
                            break;

                        case "Player Attack":
                        case "Player Attacking":
                            ActiveMarkerEvent.AnimationMarker = new AnimationClass("Conquest/" + ActiveUnit.ArmourType + "/Attack");
                            break;
                        }
                        ActiveMarkerEvent.AnimationMarker.DicTimeline = DicTimeline;
                        ActiveMarkerEvent.AnimationMarker.Load();
                    }
                }

                #endregion

                #region Init renderTarget

                ListAnimationLayer[L].renderTarget = new RenderTarget2D(
                    GraphicsDevice,
                    ScreenWidth,
                    ScreenHeight);

                #endregion
            }
        }
示例#8
0
        public override void OnMarkerTimelineSpawn(AnimationLayer ActiveLayer, MarkerTimeline ActiveMarker)
        {
            base.OnMarkerTimelineSpawn(ActiveLayer, ActiveMarker);

            ActiveMarker.UpdateAnimationObject(ActiveMarker.SpawnFrame);
        }
        private void InitMarkers(AnimationLayer ActiveLayer, Squad AttackingSquad, Squad EnemySquad)
        {
            Unit ActiveUnit = AttackingSquad.CurrentLeader;
            Unit EnemyUnit  = EnemySquad.CurrentLeader;

            foreach (List <Timeline> ListActiveEvent in ActiveLayer.DicTimelineEvent.Values)
            {
                foreach (Timeline ActiveTimeline in ListActiveEvent)
                {
                    MarkerTimeline ActiveMarkerEvent = ActiveTimeline as MarkerTimeline;
                    if (ActiveMarkerEvent == null)
                    {
                        continue;
                    }

                    string AnimationPath;

                    switch (ActiveMarkerEvent.MarkerType)
                    {
                    case "Support Stand":
                    case "Support Standing":
                    case "Enemy Standing":
                    case "Enemy Stand":
                    case "Enemy Default":
                        ActiveMarkerEvent.AnimationMarker = new AnimationClass(EnemyUnit.Animations.Default.AnimationName);

                        ActiveMarkerEvent.AnimationMarker.DicTimeline = DicTimeline;
                        ActiveMarkerEvent.AnimationMarker.Load();

                        for (int L = ActiveMarkerEvent.AnimationMarker.ListAnimationLayer.Count - 1; L >= 0; --L)
                        {
                            InitMarkers(ActiveMarkerEvent.AnimationMarker.ListAnimationLayer[L], EnemySquad, AttackingSquad);
                        }
                        break;

                    case "Enemy Wingman A Standing":
                    case "Enemy Wingman 1 Standing":
                        if (EnemySquad.CurrentWingmanA != null)
                        {
                            ActiveMarkerEvent.AnimationMarker = new AnimationClass(EnemySquad.CurrentWingmanA.Animations.Default.AnimationName);

                            ActiveMarkerEvent.AnimationMarker.DicTimeline = DicTimeline;
                            ActiveMarkerEvent.AnimationMarker.Load();

                            for (int L = ActiveMarkerEvent.AnimationMarker.ListAnimationLayer.Count - 1; L >= 0; --L)
                            {
                                InitMarkers(ActiveMarkerEvent.AnimationMarker.ListAnimationLayer[L], EnemySquad, AttackingSquad);
                            }
                        }
                        break;

                    case "Enemy Wingman B Standing":
                    case "Enemy Wingman 2 Standing":
                        if (EnemySquad.CurrentWingmanB != null)
                        {
                            ActiveMarkerEvent.AnimationMarker = new AnimationClass(EnemySquad.CurrentWingmanB.Animations.Default.AnimationName);

                            ActiveMarkerEvent.AnimationMarker.DicTimeline = DicTimeline;
                            ActiveMarkerEvent.AnimationMarker.Load();

                            for (int L = ActiveMarkerEvent.AnimationMarker.ListAnimationLayer.Count - 1; L >= 0; --L)
                            {
                                InitMarkers(ActiveMarkerEvent.AnimationMarker.ListAnimationLayer[L], EnemySquad, AttackingSquad);
                            }
                        }
                        break;

                    case "Enemy Hit":
                        if (BattleResult.ArrayResult[0].AttackMissed)
                        {
                            AnimationPath = EnemyUnit.Animations.Default.AnimationName;
                        }
                        else
                        {
                            AnimationPath = EnemyUnit.Animations.Hit.AnimationName;
                        }
                        if (File.Exists("Content/Animations/" + AnimationPath + ".pea"))
                        {
                            ActiveMarkerEvent.AnimationMarker = new AnimationClass(AnimationPath);
                        }
                        else
                        {
                            ActiveMarkerEvent.AnimationMarker = new AnimationClass(EnemyUnit.Animations.Default.AnimationName);
                        }

                        ActiveMarkerEvent.AnimationMarker.DicTimeline = DicTimeline;
                        ActiveMarkerEvent.AnimationMarker.Load();

                        for (int L = ActiveMarkerEvent.AnimationMarker.ListAnimationLayer.Count - 1; L >= 0; --L)
                        {
                            InitMarkers(ActiveMarkerEvent.AnimationMarker.ListAnimationLayer[L], EnemySquad, AttackingSquad);
                        }
                        break;

                    case "Player Stand":
                    case "Player Standing":
                    case "Player Default":
                        ActiveMarkerEvent.AnimationMarker = new AnimationClass(ActiveUnit.Animations.Default.AnimationName);

                        ActiveMarkerEvent.AnimationMarker.DicTimeline = DicTimeline;
                        ActiveMarkerEvent.AnimationMarker.Load();

                        for (int L = ActiveMarkerEvent.AnimationMarker.ListAnimationLayer.Count - 1; L >= 0; --L)
                        {
                            InitMarkers(ActiveMarkerEvent.AnimationMarker.ListAnimationLayer[L], AttackingSquad, EnemySquad);
                        }
                        break;

                    default:
                        AnimationPath = EnemyUnit.Animations.Default.AnimationName;
                        if (ActiveMarkerEvent.MarkerType.StartsWith("Player "))
                        {
                            AnimationPath = ActiveMarkerEvent.MarkerType.Split(new string[] { "Player " }, StringSplitOptions.RemoveEmptyEntries)[0];
                        }
                        ActiveMarkerEvent.AnimationMarker = new AnimationClass(AnimationPath);

                        ActiveMarkerEvent.AnimationMarker.DicTimeline = DicTimeline;
                        ActiveMarkerEvent.AnimationMarker.Load();

                        for (int L = ActiveMarkerEvent.AnimationMarker.ListAnimationLayer.Count - 1; L >= 0; --L)
                        {
                            InitMarkers(ActiveMarkerEvent.AnimationMarker.ListAnimationLayer[L], AttackingSquad, EnemySquad);
                        }
                        break;
                    }
                }
            }
        }