ManagedResource.cs 654 B

1234567891011121314151617181920212223242526
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Runtime.CompilerServices;
  5. using System.Text;
  6. namespace BansheeEngine
  7. {
  8. public class ManagedResource : Resource
  9. {
  10. // For internal use by the runtime
  11. protected ManagedResource()
  12. { }
  13. static public T Create<T>() where T : ManagedResource, new()
  14. {
  15. T newResource = new T();
  16. Internal_CreateInstance(newResource);
  17. return newResource;
  18. }
  19. [MethodImpl(MethodImplOptions.InternalCall)]
  20. private static extern void Internal_CreateInstance(ManagedResource resource);
  21. }
  22. }