Пример #1
0
        void loadInBackground()
        {
            if (main.loading)
            {
                main.loading1 = "";
                main.loading2 = "";

                int i;
                for (i = 0; i < main.totalPlanets; i++)
                {
                    main.loading1 = "Generating planets (" + (i + 1) + "/" + (main.totalPlanets) + ")";
                    Planet planet = new Planet();
                    planet.generate(main.noise, main.device, main.seed);
                    planet.x = main.noise.random.Next(0, main.quadrantWidth);
                    planet.y = main.noise.random.Next(0, main.quadrantHeight);
                    main.planets[i] = planet;
                }
                main.loading1 = i + " planets loaded";
                for (i = 0; i < main.totalShips; i++)
                {
                    main.loading2 = "Generating ships (" + (i + 1) + "/" + (main.totalShips + 1) + ")";
                    Ship ship = new Ship();
                    ship.x = main.noise.random.Next(0, main.quadrantWidth);
                    ship.y = main.noise.random.Next(0, main.quadrantHeight);
                    int planet = main.noise.random.Next(0, main.totalPlanets);
                    ship.targetX = main.planets[planet].x;
                    ship.targetY = main.planets[planet].y;
                    ship.targetWidth = main.planets[planet].width;
                    ship.targetHeight = main.planets[planet].height;
                    ship.smoke = new ParticleSmoke();
                    ship.smoke.newSmokeParticles(main.noise, ship.x, ship.y, 20, 20f, 0.8f);
                    ship.maxSpeed = main.noise.random.Next(2, 4);
                    ship.moving = true;
                    main.ships[i] = ship;
                }
                main.loading2 = i + " ships loaded";

                main.loading = false;
                loadingThread.Abort();
            }
        }
Пример #2
0
        void loadInBackground()
        {
            if (loading)
            {
                loading1 = "";
                loading2 = "";

                shipImage = Content.Load<Texture2D>("dummyShip");

                //generateBackground();

                background = Content.Load<Texture2D>("dummyBackground");
                int i;
                for (i = 0; i < totalPlanets; i++)
                {
                    loading1 = "Generating planets (" + (i + 1) + "/" + (totalPlanets) + ")";
                    Planet planet = new Planet();
                    planet.generate(noise, device, seed);
                    planet.x = noise.random.Next(0, quadrantWidth);
                    planet.y = noise.random.Next(0, quadrantHeight);
                    planets[i] = planet;
                }
                loading1 = i + " planets loaded";
                for (i = 0; i < totalShips; i++)
                {
                    loading2 = "Generating ships (" + (i + 1) + "/" + (totalShips + 1) + ")";
                    Ship ship = new Ship();
                    ship.x = noise.random.Next(0, quadrantWidth);
                    ship.y = noise.random.Next(0, quadrantHeight);
                    ship.targetX = noise.random.Next(0, quadrantWidth);
                    ship.targetY = noise.random.Next(0, quadrantHeight);
                    ships[i] = ship;
                }
                loading2 = i + " ships loaded";

                loading = false;
                loadingThread.Abort();
            }
            //if (!loading)
            //{
            //    while (true)
            //    {
            //        for (int i = 0; i < totalShips; i++)
            //        {
            //            if (ships[i] != null)
            //            {
            //                Ship ship = ships[i];
            //                for (int j = 0; j < totalShips; j++)
            //                {
            //                    if (i != j && ships[j] != null)
            //                    {
            //                        Ship ship2 = ships[j];
            //                        if (rectanglesCollide(ship.x, ship.y, 20, 20, ship2.x, ship2.y, 20, 20))
            //                        {
            //                            ships[i] = null;
            //                            ships[j] = null;
            //                        }
            //                    }
            //                }
            //            }
            //        }
            //    }
            //}
        }