ScriptCode.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using System;
  2. using System.Runtime.CompilerServices;
  3. namespace BansheeEngine
  4. {
  5. /// <summary>
  6. /// A resource containing compileable script code.
  7. /// </summary>
  8. public class ScriptCode : Resource
  9. {
  10. /// <summary>
  11. /// Constructor for internal use by the runtime.
  12. /// </summary>
  13. private ScriptCode()
  14. { }
  15. /// <summary>
  16. /// Script code text.
  17. /// </summary>
  18. public string Text
  19. {
  20. get { return Internal_GetText(mCachedPtr); }
  21. set { Internal_SetText(mCachedPtr, value); }
  22. }
  23. /// <summary>
  24. /// Determines should the script code be compiled with editor assemblies.
  25. /// </summary>
  26. public bool EditorScript
  27. {
  28. get { return Internal_IsEditorScript(mCachedPtr); }
  29. set { Internal_SetEditorScript(mCachedPtr, value); }
  30. }
  31. /// <summary>
  32. /// Returns all script types that have been created when this script code resource was compiled.
  33. /// </summary>
  34. public Type[] Types
  35. {
  36. get { return Internal_GetTypes(mCachedPtr); }
  37. }
  38. [MethodImpl(MethodImplOptions.InternalCall)]
  39. private static extern string Internal_GetText(IntPtr thisPtr);
  40. [MethodImpl(MethodImplOptions.InternalCall)]
  41. private static extern void Internal_SetText(IntPtr thisPtr, string value);
  42. [MethodImpl(MethodImplOptions.InternalCall)]
  43. private static extern bool Internal_IsEditorScript(IntPtr thisPtr);
  44. [MethodImpl(MethodImplOptions.InternalCall)]
  45. private static extern void Internal_SetEditorScript(IntPtr thisPtr, bool value);
  46. [MethodImpl(MethodImplOptions.InternalCall)]
  47. private static extern Type[] Internal_GetTypes(IntPtr thisPtr);
  48. }
  49. }