| 1234567891011121314151617181920212223242526272829303132333435 |
- using SharpGLTF.CodeGen;
- using SharpGLTF.SchemaReflection;
- using System.Collections.Generic;
- namespace SharpGLTF
- {
- class ExtInstanceFeaturesExtension : SchemaProcessor
- {
- public override string GetTargetProject() { return Constants.CesiumProjectDirectory; }
- private static string NodeSchemaUri => Constants.CustomExtensionsPath("EXT_instance_features", "node.EXT_instance_features.schema.json");
- public override void PrepareTypes(CSharpEmitter newEmitter, SchemaType.Context ctx)
- {
- newEmitter.SetRuntimeName("EXT_instance_features glTF Node extension", "MeshExtInstanceFeatures", Constants.CesiumNameSpace);
- newEmitter.SetRuntimeName("Feature ID in EXT_instance_features", "MeshExtInstanceFeatureID", Constants.CesiumNameSpace);
- newEmitter.SetFieldToChildrenList(ctx, "EXT_instance_features glTF Node extension", "featureIds");
- }
- public override IEnumerable<(string TargetFileName, SchemaType.Context Schema)> Process()
- {
- yield return ("Ext.CESIUM_ext_instance_features.g", ProcessNode());
- }
- private static SchemaType.Context ProcessNode()
- {
- var ctx = SchemaProcessing.LoadSchemaContext(NodeSchemaUri);
- ctx.IgnoredByCodeEmitter("glTF Property");
- ctx.IgnoredByCodeEmitter("glTF Child of Root Property");
- ctx.IgnoredByCodeEmitter("Texture Info");
- return ctx;
- }
- }
- }
|