Esempio n. 1
0
        /// <summary>
        /// Opens a project from a file.
        /// </summary>
        /// <param name="path"></param>
        public void Open(string path)
        {
            string appData = System.Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData) + "\\Stv233\\ItemCreator\\";

            Name = path.Substring(path.LastIndexOf("\\") + 1, path.LastIndexOf(".") - path.LastIndexOf("\\") - 1);
            try
            {
                Directory.Delete(appData + "\\Projects\\" + Name, true);
            }
            catch { }
            ZipFile.ExtractToDirectory(path, appData + "\\Projects\\" + Name);
            ListOfItems.Clear();

            string[] ProjectData = File.ReadAllLines(appData + "\\Projects\\" + Name + "\\ProjectData");

            if (ProjectData[0] == "AIS")
            {
                Type = Types.AIS;
            }
            else if (ProjectData[0] == "Pro")
            {
                Type = Types.Pro;
            }
            else if (ProjectData[0] == "Simple")
            {
                Type = Types.Simple;
            }
            else
            {
                throw new System.Exception("Unknown project type");
            }

            Array.Copy(ProjectData, 1, ProjectData, 0, ProjectData.Length - 1);
            Array.Resize <string>(ref ProjectData, ProjectData.Length - 1);

            foreach (string itemName in ProjectData)
            {
                if (Type == Types.Simple)
                {
                    SimpleItem item = new SimpleItem(itemName);
                    item.Import(appData + "\\Projects\\" + Name + "\\" + itemName);
                    ListOfItems.Add(itemName, item);
                }
                else if (Type == Types.Pro)
                {
                    ProItem item = new ProItem(itemName);
                    item.Import(appData + "\\Projects\\" + Name + "\\" + itemName);
                    ListOfItems.Add(itemName, item);
                }
                else if (Type == Types.AIS)
                {
                    AISItem item = new AISItem(itemName);
                    item.Import(appData + "\\Projects\\" + Name + "\\" + itemName);
                    ListOfItems.Add(itemName, item);
                }
            }
        }