Example #1
0
        // Generate root document when constructor is there.
        public SideloaderMod([NotNull] TextAsset file)
        {
            // check parse error
            var assetPath = AssetDatabase.GetAssetPath(file);

            AssetFolder    = Path.GetDirectoryName(assetPath) ?? "";
            AssetDirectory = Path.Combine(Directory.GetCurrentDirectory(), AssetFolder).Replace("\\", "/");
            FileName       = file.name;

            _outputDocumentObject = XmlUtils.GetManifestTemplate();
            _inputDocumentObject  = XDocument.Parse(file.text);

            MainData       = new MainData();
            DependencyData = new DependencyLoaderData();
            GameMapInfo    = new GameMapInfo();
            StudioInfo     = new StudioInfo();
            MainData.ParseData(this, _inputDocumentObject.Root);
            DependencyData.ParseData(this, _inputDocumentObject.Root);

            _manifestData = new List <IManifestData>
            {
                // it should be in order, lmk if there is good way to do. I'm always learning.
                MainData,
                DependencyData,
                new HeelsData(),
                new MaterialEditorData(),
                new AIMapData()
            };

            _bundleTargets = new List <BundleBase>();
            GameItems      = new Dictionary <string, GameInfo>();
            Assets         = new AssetInfo();

            ParseDocument(_inputDocumentObject.Root);
        }