コード例 #1
0
        public static Dictionary <String, String> LoadTexts(ProgressBarCallBack callback)
        {
            Dictionary <String, String> texts = new Dictionary <string, string>();
            string      fileContent           = DecryptFile(TEXTS_PATH, AMUDE_CRYPTO_KEY);
            XmlDocument doc = new XmlDocument();

            doc.Load(XmlReader.Create(new StringReader(fileContent)));

            XmlElement mapElement = doc.DocumentElement;

            foreach (XmlNode text in mapElement.GetElementsByTagName("text"))
            {
                String        key     = text.Attributes["key"].InnerText;
                StringBuilder content = new StringBuilder();

                foreach (XmlNode paragraph in text.ChildNodes)
                {
                    content.AppendLine(paragraph.InnerText);
                }

                content.Replace("\r", "");
                texts.Add(key, content.ToString());
            }

            callback(Constants.CONFIG_FILES_COUNT);
            return(texts);
        }
コード例 #2
0
ファイル: Bundle.cs プロジェクト: otnemarcas/amude
        public static void Load(ProgressBarCallBack callback)
        {
            callback(Constants.CONFIG_FILES_COUNT);
            characters       = new ProtectedDictionary <String, Character>();
            environment      = new ProtectedDictionary <String, Entity>();
            projectiles      = new ProtectedDictionary <String, Entity>();
            specialAbilities = new ProtectedDictionary <SpecialAbility, Animation>();
            terrains         = new ProtectedDictionary <String, Terrain>();

            texts = IO.LoadTexts(callback);

            Dictionary <String, Terrain> loadedTerrains = IO.LoadTerrains();

            foreach (KeyValuePair <String, Terrain> kv in loadedTerrains)
            {
                terrains.Add(kv.Key, kv.Value);
            }

            Dictionary <String, Entity> loadedEnvironment = IO.LoadEnvironment(callback);

            foreach (KeyValuePair <String, Entity> kv in loadedEnvironment)
            {
                environment.Add(kv.Key, kv.Value);
            }

            Dictionary <String, Entity> loadedProjectiles = IO.LoadProjectiles(callback);

            foreach (KeyValuePair <String, Entity> kv in loadedProjectiles)
            {
                projectiles.Add(kv.Key, kv.Value);
            }

            Dictionary <SpecialAbility, Animation> loadedSpecialAbilities;

            loadedSpecialAbilities = IO.LoadSpecialAbilities(callback);
            foreach (KeyValuePair <SpecialAbility, Animation> kv in loadedSpecialAbilities)
            {
                specialAbilities.Add(kv.Key, kv.Value);
            }

            Dictionary <String, Character> loadedCharacters = IO.LoadCharacters(callback);

            foreach (KeyValuePair <String, Character> kv in loadedCharacters)
            {
                characters.Add(kv.Key, kv.Value);
            }
        }
コード例 #3
0
        private static Dictionary <String, Entity> LoadEntities(String path, ProgressBarCallBack callback)
        {
            Dictionary <String, Entity> entities = new Dictionary <String, Entity>();
            DirectoryInfo dir = new DirectoryInfo(Environment.CurrentDirectory + "/" + path);

            foreach (FileInfo fileInfo in dir.GetFiles())
            {
                string      fileContent = DecryptFile(fileInfo.FullName, AMUDE_CRYPTO_KEY);
                XmlDocument doc         = new XmlDocument();

                doc.Load(XmlReader.Create(new StringReader(fileContent)));
                Entity entity = LoadEntity(doc);
                entities.Add(entity.RootName, entity);
                callback(Constants.CONFIG_FILES_COUNT);
            }

            return(entities);
        }
コード例 #4
0
        public static Dictionary <String, Character> LoadCharacters(ProgressBarCallBack callback)
        {
            Dictionary <String, Character> characters = new Dictionary <String, Character>();
            DirectoryInfo dir = new DirectoryInfo(Environment.CurrentDirectory + "/" + CHARACTER_DIR);

            foreach (FileInfo fileInfo in dir.GetFiles())
            {
                string      fileContent = DecryptFile(fileInfo.FullName, AMUDE_CRYPTO_KEY);
                XmlDocument doc         = new XmlDocument();

                doc.Load(XmlReader.Create(new StringReader(fileContent)));
                Character character = LoadCharacter(doc);
                characters.Add(character.RootName, character);
                callback(Constants.CONFIG_FILES_COUNT);
            }

            return(characters);
        }
コード例 #5
0
ファイル: Controller.cs プロジェクト: otnemarcas/amude
        public void Initialize(Amude game)
        {
            using (Screen.LoadScreen loadScreen = new Screen.LoadScreen())
            {
                loadScreen.Visible = true;
                ProgressBarCallBack callback = loadScreen.GetProgressBarCallBack();
                this.game = game;

                IO.Initialize(game.Content);
                IO.VerifyConfigFiles();

                Bundle.Load(callback);

                Player player = new Player(IPAddress.Loopback);
                players.Add(player.IPAddress, player);

                loadScreen.Dispose();
            }
        }
コード例 #6
0
        public static Dictionary <SpecialAbility, Animation> LoadSpecialAbilities(ProgressBarCallBack callback)
        {
            Dictionary <SpecialAbility, Animation> specialAbilities = new Dictionary <SpecialAbility, Animation>();
            DirectoryInfo dir = new DirectoryInfo(Environment.CurrentDirectory + "/" + SPECIALABILITY_DIR);

            foreach (FileInfo fileInfo in dir.GetFiles())
            {
                string      fileContent = DecryptFile(fileInfo.FullName, AMUDE_CRYPTO_KEY);
                XmlDocument doc         = new XmlDocument();

                doc.Load(XmlReader.Create(new StringReader(fileContent)));

                KeyValuePair <SpecialAbility, Animation> kv = LoadSpecialAbility(doc);
                specialAbilities.Add(kv.Key, kv.Value);

                callback(Constants.CONFIG_FILES_COUNT);
            }

            return(specialAbilities);
        }
コード例 #7
0
 public static Dictionary <String, Entity> LoadProjectiles(ProgressBarCallBack callback)
 {
     return(LoadEntities(PROJECTILE_DIR, callback));
 }
コード例 #8
0
 public static Dictionary <String, Entity> LoadEnvironment(ProgressBarCallBack callback)
 {
     return(LoadEntities(ENVIRONMENT_DIR, callback));
 }