Ext.CESIUM_primitive_outline.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. using SharpGLTF.CodeGen;
  2. using SharpGLTF.SchemaReflection;
  3. using System.Collections.Generic;
  4. namespace SharpGLTF
  5. {
  6. class CesiumPrimitiveOutlineExtension : SchemaProcessor
  7. {
  8. public override string GetTargetProject() { return Constants.CesiumProjectDirectory; }
  9. private static string RootSchemaUri => Constants.VendorExtensionPath("CESIUM_primitive_outline", "primitive.CESIUM_primitive_outline.schema.json");
  10. public override void PrepareTypes(CSharpEmitter newEmitter, SchemaType.Context ctx)
  11. {
  12. newEmitter.SetRuntimeName("CESIUM_primitive_outline glTF primitive extension", "CesiumPrimitiveOutline", Constants.CesiumNameSpace);
  13. }
  14. public override IEnumerable<(string TargetFileName, SchemaType.Context Schema)> Process()
  15. {
  16. yield return ("Ext.CESIUM_primitive_outline.g", ProcessRoot());
  17. }
  18. private static SchemaType.Context ProcessRoot()
  19. {
  20. var ctx = SchemaProcessing.LoadSchemaContext(RootSchemaUri);
  21. ctx.IgnoredByCodeEmitter("glTF Property");
  22. ctx.IgnoredByCodeEmitter("glTF Child of Root Property");
  23. return ctx;
  24. }
  25. }
  26. }