Example #1
0
        /// <summary>
        /// Loads static Default sounds
        /// 
        /// Options include : "SelectIcon", "Teleport" , "Hosting", 
        /// "Joining", "MiningShip", "Fighter", "Transport" ,
        /// "StarCruiser", "ColonyShip"
        /// </summary>
        /// <param name="manager"></param>
        /// <param name="directory"></param>
        /// 
        public SoundEffectBox(ContentManager manager, string directory)
        {
            Console.WriteLine(manager.RootDirectory);
            Console.WriteLine(directory);
            String dir = manager.RootDirectory+"\\"+directory;
            ConfigParser cp = new ConfigParser(dir + "SFXConfig.txt");
            Dictionary<String, List<String>> opts = cp.ParseConfig();
            String DefaultDir = opts["DEFAULT"][0];
            String DefDir = opts["DEFDIR"][0];

            //Page_Load(directory);
            volume = 1.0f;
            soundEffectManager = manager;
            soundHash = new Dictionary<string, List<SoundEffect>>();
            rng = new Random();
            //SelectIcon List

            String[] SoundTypes = {"BuildQueueFull", "ColonyShip", "Fighter", "Hosting",
                                    "Joining", "MiningShip", "SelectIcon", "StarCruiser",
                                    "Teleport", "Toggle", "Transport"};
            String [] Attempts = {DefDir, DefaultDir};
            foreach (String attempt in Attempts) {
                try
                {
                    String newDir = directory + attempt + "/";
                    foreach (String st in SoundTypes)
                    {
                        List<SoundEffect> adder = new List<SoundEffect>();
                        DirectoryInfo di = new DirectoryInfo(manager.RootDirectory+"/"+newDir + st + "/");
                        FileInfo[] fis = di.GetFiles("*");
                        foreach (FileInfo fi in fis)
                        {
                            String loc = newDir + st + "/" + (fi.Name.Split('.'))[0];
                            //Console.WriteLine(loc);
                            adder.Add(soundEffectManager.Load<SoundEffect>(loc));
                        }
                        soundHash.Add(st, adder);

                    }
                    break;
                }
                catch (Exception e) {
                    Console.WriteLine(e.Message);

                }
            }
        }
Example #2
0
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);
            device = graphics.GraphicsDevice;

            //Building a hex
            HexModel.InitializePrimitive(device);
            ProtonBeamModel.InitializePrimitive(Content.Load<Model>("protonbeam"));
            //Loading the sphere
            SphereModel.InitializePrimitive(Content.Load<Model>("sphere"));
            //Loadng the beam

            //Loading the sphere
            StarField.LoadStarModel(Content.Load<Model>("thing"));

            //Loading the Planet
            PlanetModel.InitializePrimitive(Content.Load<Model>("planet_unpopulated"),
                    Content.Load<Model>("planet_populated"));

            //Loading the Asteroid
            AsteroidModel.InitializePrimitive(Content.Load<Model>("Asteroid"), Content.Load<Model>("DefaultShips/miningRobot"));

            //Loading a StarCruiser model
            //StarCruiserModel.InitializePrimitive(Content.Load<Model>("starcruiser"));

            cp = new ConfigParser("Content/Models/ModelConfig.txt");
            opts = cp.ParseConfig();

            List<String[]> raceTuples = new List<String[]>();
            List<String> racePreProc = opts["ASSIGN"];
            foreach (String s in racePreProc) {
                try {
                    String[] splits = s.Split('|');
                int index = int.Parse(splits[1]);
                String tup = splits[0];
                raceTuples.Add(splits);
                }
                catch (Exception e) {
                    Console.WriteLine(e.Message);
                }
            }
            raceTuples.Sort(sorter);

            foreach (String[] s in raceTuples) {
                Races.Add(s[0]);
            }

            List<String> defs = opts["DEFINE"];
            Dictionary<String, String> raceToModel = new Dictionary<string, string>();
            foreach (String def in defs) {
                String[] split = def.Split('|');
                try
                {
                    raceToModel.Add(split[0], split[1]);
                }
                catch (Exception e) {
                    Console.WriteLine(e.Message);
                }
            }

            String[] sts = {"ColonyShip", "Fighter", "MiningRobot", "MiningShip", "StarCruiser",
                               "Telescope", "Transport"};

            foreach (String race in Races) {
                String[] attempts = { raceToModel[race], opts["DEFAULT"][0] };

                foreach (string att in attempts) {
                    try
                    {
                        String raceDir = "Content/Models/" + att + "/";
                        foreach (String st in sts)
                        {
                            Boolean fail = true;
                            DirectoryInfo di = new DirectoryInfo(raceDir + st);
                            //Console.WriteLine(di.FullName);
                            foreach (FileInfo fi in di.GetFiles())
                            {
                                try
                                {
                                    //Console.WriteLine(Content.RootDirectory);
                                    String loc = "Models/" + att + "/" + st + "/" + (fi.Name.Split('.'))[0];
                                    //Console.WriteLine(race + "." + st);
                                    ShipModel.AddShipModel(Content.Load<Model>(loc), race + "." + st);
                                    fail = false;
                                    break;
                                }
                                catch (Exception e)
                                {
                                    Console.WriteLine(e.Message);
                                }
                            }
                            if (fail) { throw new Exception(); }

                        }
                        break;

                    }
                    catch (Exception e) {
                        Console.WriteLine(e.Message);
                    }

                }

            }

            Console.WriteLine("\n\n\n\n\n");
            foreach (String s in ShipModel.shipmodels.Keys) {
                Console.WriteLine(s);
            }

            /*ShipModel.AddShipModel(Content.Load<Model>("DefaultShips/starCruiser"), "starcruiser");
            ShipModel.AddShipModel(Content.Load<Model>("DefaultShips/miningShip"), "miningship");
            ShipModel.AddShipModel(Content.Load<Model>("DefaultShips/miningRobot"), "miningrobot");
            ShipModel.AddShipModel(Content.Load<Model>("DefaultShips/transport"), "transport");
            ShipModel.AddShipModel(Content.Load<Model>("DefaultShips/colonyShip"), "colonyship");
            ShipModel.AddShipModel(Content.Load<Model>("DefaultShips/fighter"), "fightership");
            ShipModel.AddShipModel(Content.Load<Model>("DefaultShips/SpaceTelescope"), "SpaceTelescope");

            ShipModel.AddShipModel(Content.Load<Model>("ArdusShips/r2starCruiser"), "r2starcruiser");
            ShipModel.AddShipModel(Content.Load<Model>("ArdusShips/r2miningShip"), "r2miningship");
            ShipModel.AddShipModel(Content.Load<Model>("ArdusShips/r2miningRobot"), "r2miningrobot");
            ShipModel.AddShipModel(Content.Load<Model>("ArdusShips/r2transport"), "r2transport");
            ShipModel.AddShipModel(Content.Load<Model>("ArdusShips/r2colonyShip"), "r2colonyship");
            ShipModel.AddShipModel(Content.Load<Model>("ArdusShips/r2fighter"), "r2fightership");
            ShipModel.AddShipModel(Content.Load<Model>("ArdusShips/r2SpaceTelescope"), "r2SpaceTelescope");*/

            // TODO: use this.Content to load your game content here
            mainFont = Content.Load<SpriteFont>("TitleFont");
            textFont = Content.Load<SpriteFont>("TextFont");
            //Texture2D texture = Content.Load<Texture2D>("MoveButton.png");

            MenuManager.Init(spriteBatch, mainFont);

            wireFrameState = new RasterizerState()
            {
                FillMode = FillMode.WireFrame,
                CullMode = CullMode.None,
            };

            /////// USER  C ontent/////////////////////
            //Sounds
            contentManager = this.Content;
            List<string> tmpTracks = new List<string>();
            for (int i = 1; i <= 10; i++)
            {
                tmpTracks.Add("DefaultMusic/track" + i);

            }
            jukeBox = new Music_stuff.JukeBox(tmpTracks, contentManager);
            //jukeBox.play();    //Play the tunes

            soundEffectBox = new SoundEffectBox(contentManager, "SFX/");
        }