Ext.CESIUM_primitive_outline.cs 1.1 KB

123456789101112131415161718192021222324252627282930
  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 CesiumExtensions.CesiumProjectDirectory; }
  9. private static string RootSchemaUri => CesiumExtensions.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", CesiumExtensions.CesiumNameSpace);
  13. }
  14. public override IEnumerable<(string TargetFileName, SchemaType.Context Schema)> ReadSchema()
  15. {
  16. yield return ("Ext.CESIUM_primitive_outline.g", ProcessRoot());
  17. }
  18. private static SchemaType.Context ProcessRoot()
  19. {
  20. var ctx = SchemaProcessing.LoadExtensionSchemaContext(RootSchemaUri);
  21. return ctx;
  22. }
  23. }
  24. }