示例#1
0
        /// <summary>Does an HTTP Get, and deserializes the XML result (assumes UTF8) with the File Manager Deserializer.</summary>
        public static int PerformHttpGetAsXml <T>(Uri uri, Action <T, int> action, Action <Exception, int> error)
        {
            int returnValue = PerformHttpGet(uri, (xml, id) =>
            {
                byte[] bytes = Encoding.UTF8.GetBytes(xml);

                try
                {
                    using (var stream = new MemoryStream(bytes))
                    {
                        T deserialized = FileManager.XmlDeserialize <T>(stream);

                        action(deserialized, id);
                    }
                }
                catch (Exception ex)
                {
#if DEBUG
                    //string text = ByteArrayToString(bytes);
#endif
                    if (error != null)
                    {
                        error(ex, id);
                    }
                    else
                    {
                        throw;
                    }
                }
            }, error);

            return(returnValue);
        }
示例#2
0
        public static SceneSave FromFile(string fileName)
        {
            SceneSave tempScene = null;

#if !FRB_MDX
            if (ManualDeserialization)
            {
                tempScene = DeserializeManually(fileName);
            }
            else
#endif
            {
                tempScene = FileManager.XmlDeserialize <SceneSave>(fileName);
            }

            tempScene.mFileName = fileName;
            if (FileManager.IsRelative(fileName))
            {
                tempScene.mSceneDirectory = FileManager.GetDirectory(FileManager.RelativeDirectory + fileName);
            }
            else
            {
                tempScene.mSceneDirectory = FileManager.GetDirectory(fileName);
            }


            return(tempScene);
        }
示例#3
0
        public static AnimationChainListSave FromFile(string fileName)
        {
            AnimationChainListSave toReturn = null;

            if (ManualDeserialization)
            {
                toReturn = DeserializeManually(fileName);
            }
            else
            {
                toReturn =
                    FileManager.XmlDeserialize <AnimationChainListSave>(fileName);
            }

            if (FileManager.IsRelative(fileName))
            {
                fileName = FileManager.MakeAbsolute(fileName);
            }

            toReturn.mFileName = fileName;

            return(toReturn);
        }