private void GenererPersos()
        {
            Random r = new Random();

            int baseX   = Marine.MarineTexture.Width / 2;
            int baseY   = Marine.MarineTexture.Height / 2;
            int limiteX = (SCREEN_WIDTH / 2) - Marine.MarineTexture.Width;
            int limiteY = SCREEN_HEIGHT - Marine.MarineTexture.Height;

            //Generation des soldiers selon leur type et allignement
            #region
            for (int i = 0; i < 15; i++)
            {
                marineActorsList.Add(SoldierFabric.creatSoldier(SoldierFabric.soldierType.marine, new Vector2(baseX + r.Next(limiteX), baseY + r.Next(limiteY)), orksActorsList, forest, marineActorsList[0]));
            }

            for (int i = 0; i < 60; i++)
            {
                orksActorsList.Add(SoldierFabric.creatSoldier(SoldierFabric.soldierType.boyz, new Vector2(SCREEN_WIDTH / 2 + baseX + r.Next(limiteX), baseY + r.Next(limiteY)), marineActorsList, forest, orksActorsList[0]));
            }

            int j = r.Next(2, 4) + 1;

            for (int i = 0; i < j; i++)
            {
                marineActorsList.Add(SoldierFabric.creatSoldier(SoldierFabric.soldierType.dreadnought, new Vector2(baseX + r.Next(limiteX), baseY + r.Next(limiteY)), orksActorsList, forest,
                                                                marineActorsList[0]));

                orksActorsList.Add(SoldierFabric.creatSoldier(SoldierFabric.soldierType.nobz, new Vector2(SCREEN_WIDTH / 2 + baseX + r.Next(limiteX), baseY + r.Next(limiteY)), marineActorsList, forest, orksActorsList[0]));
                orksActorsList.Add(SoldierFabric.creatSoldier(SoldierFabric.soldierType.nobz, new Vector2(SCREEN_WIDTH / 2 + baseX + r.Next(limiteX), baseY + r.Next(limiteY)), marineActorsList, forest, orksActorsList[0]));
            }

            int k = r.Next(1, 2) + 1;

            for (int i = 0; i < k; i++)
            {
                marineActorsList.Add(SoldierFabric.creatSoldier(SoldierFabric.soldierType.landraider, new Vector2(baseX + r.Next(limiteX), baseY + r.Next(limiteY)), orksActorsList, forest,
                                                                marineActorsList[0]));

                orksActorsList.Add(SoldierFabric.creatSoldier(SoldierFabric.soldierType.loottruck, new Vector2(SCREEN_WIDTH / 2 + baseX + r.Next(limiteX), baseY + r.Next(limiteY)), marineActorsList, forest, orksActorsList[0]));
                orksActorsList.Add(SoldierFabric.creatSoldier(SoldierFabric.soldierType.loottruck, new Vector2(SCREEN_WIDTH / 2 + baseX + r.Next(limiteX), baseY + r.Next(limiteY)), marineActorsList, forest, orksActorsList[0]));
            }
            #endregion
        }
        protected override void Update(GameTime gameTime)
        {
            ManageInputs();
            if (gameIsStarted)
            {
                gameTick++;

                //Spawn nouvelles instances de soldiers
                #region

                if (gameTick == SPAWN_DELAY)
                {
                    gameTick = 0;
                    Random r = new Random();


                    int whatToSpawnForOrk = r.Next(1, 100 + 1);


                    if (whatToSpawnForOrk < 51)
                    {
                        for (int i = 0; i < 4; i++)
                        {
                            orksActorsList.Add(SoldierFabric.creatSoldier(SoldierFabric.soldierType.boyz,
                                                                          orksActorsList[0].Position, marineActorsList, forest, orksActorsList[0]));
                        }
                    }

                    else if (whatToSpawnForOrk > 85)
                    {
                        orksActorsList.Add(SoldierFabric.creatSoldier(SoldierFabric.soldierType.loottruck,
                                                                      orksActorsList[0].Position, marineActorsList, forest, orksActorsList[0]));
                    }

                    else
                    {
                        orksActorsList.Add(SoldierFabric.creatSoldier(SoldierFabric.soldierType.nobz,
                                                                      orksActorsList[0].Position, marineActorsList, forest, orksActorsList[0]));
                        orksActorsList.Add(SoldierFabric.creatSoldier(SoldierFabric.soldierType.nobz,
                                                                      orksActorsList[0].Position, marineActorsList, forest, orksActorsList[0]));
                    }



                    int whatToSpawnForMarine = r.Next(1, 100 + 1);

                    if (whatToSpawnForMarine < 51)
                    {
                        marineActorsList.Add(SoldierFabric.creatSoldier(SoldierFabric.soldierType.marine,
                                                                        marineActorsList[0].Position, orksActorsList, forest, marineActorsList[0]));
                    }

                    else if (whatToSpawnForMarine > 85)
                    {
                        marineActorsList.Add(SoldierFabric.creatSoldier(SoldierFabric.soldierType.landraider,
                                                                        marineActorsList[0].Position, orksActorsList, forest, marineActorsList[0]));
                    }

                    else
                    {
                        marineActorsList.Add(SoldierFabric.creatSoldier(SoldierFabric.soldierType.dreadnought,
                                                                        marineActorsList[0].Position, orksActorsList, forest, marineActorsList[0]));
                    }
                }

                #endregion

                #region
                //update les soldiers en jeu
                for (int i = 1; i < marineActorsList.LongCount(); i++)
                {
                    marineActorsList[i].CurrentState.update(gameTick);
                }
                for (int i = 1; i < orksActorsList.LongCount(); i++)
                {
                    orksActorsList[i].CurrentState.update(gameTick);
                }

                //deux boucles comme les listes on pas la même taille
                for (int i = 1; i < marineActorsList.Count; i++)
                {
                    marineActorsList[i].Move();
                    if (marineActorsList[i].CurrentState is DeadState)
                    {
                        marineActorsList.RemoveAt(i);
                    }
                }


                for (int i = 1; i < orksActorsList.Count; i++)
                {
                    orksActorsList[i].Move();
                    if (orksActorsList[i].CurrentState is DeadState)
                    {
                        orksActorsList.RemoveAt(i);
                    }
                }

                #endregion
                //retire les morts
                if (orksActorsList[0].Hp <= 0 || marineActorsList[0].Hp <= 0)
                {
                    marineActorsList.Clear();
                    orksActorsList.Clear();
                    Exit();
                }
            }

            base.Update(gameTime);
        }