示例#1
0
        internal static void AddSample(PackageManifest manifest, PackageManifest.Sample sample)
        {
            string assetDirectory   = GetAssetDirectory(manifest);
            string samplesDirectory = GetAssetsSampleDirectory(manifest);

            if (!sample.path.StartsWith(Paths.PackageSamplesFolder + "/"))
            {
                throw new System.Exception("Invalid sample directory");
            }


            Directory.CreateDirectory(samplesDirectory);

            string sampleFolderName = sample.path.Substring(Paths.PackageSamplesFolder.Length + 1);
            string sampleFolder     = Path.Combine(samplesDirectory, sampleFolderName);

            Directory.CreateDirectory(sampleFolder);
            CreateGitKeep.Create(sampleFolder);



            JObject manifestJSON = JObject.Parse(GetPackageManifestObject(manifest).text);

            var samplesJSON = (JArray)manifestJSON["samples"];


            JObject next = new JObject(
                new JProperty("displayName", sample.displayName),
                new JProperty("description", sample.description),
                new JProperty("path", sample.path));

            samplesJSON.Add(next);


            AssetDatabaseUtilities.CreateTextFile(manifestJSON.ToString(), GetPackageDirectory(manifest), Paths.PackageManifest);
            AssetDatabaseUtilities.UpdateAssetDatabase();
        }
示例#2
0
 void OnEnable()
 {
     sample = new PackageManifest.Sample();
 }