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