ScriptCode.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. /// Script code text.
  12. /// </summary>
  13. public string Text
  14. {
  15. get { return Internal_GetText(mCachedPtr); }
  16. set { Internal_SetText(mCachedPtr, value); }
  17. }
  18. /// <summary>
  19. /// Determines should the script code be compiled with editor assemblies.
  20. /// </summary>
  21. public bool EditorScript
  22. {
  23. get { return Internal_IsEditorScript(mCachedPtr); }
  24. set { Internal_SetEditorScript(mCachedPtr, value); }
  25. }
  26. /// <summary>
  27. /// Returns all script types that have been created when this script code resource was compiled.
  28. /// </summary>
  29. public Type[] Types
  30. {
  31. get { return Internal_GetTypes(mCachedPtr); }
  32. }
  33. [MethodImpl(MethodImplOptions.InternalCall)]
  34. private static extern string Internal_GetText(IntPtr thisPtr);
  35. [MethodImpl(MethodImplOptions.InternalCall)]
  36. private static extern void Internal_SetText(IntPtr thisPtr, string value);
  37. [MethodImpl(MethodImplOptions.InternalCall)]
  38. private static extern bool Internal_IsEditorScript(IntPtr thisPtr);
  39. [MethodImpl(MethodImplOptions.InternalCall)]
  40. private static extern void Internal_SetEditorScript(IntPtr thisPtr, bool value);
  41. [MethodImpl(MethodImplOptions.InternalCall)]
  42. private static extern Type[] Internal_GetTypes(IntPtr thisPtr);
  43. }
  44. }