LocString.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using System;
  2. using System.Runtime.CompilerServices;
  3. namespace BansheeEngine
  4. {
  5. public sealed class LocString : ScriptObject
  6. {
  7. public LocString(string identifier)
  8. {
  9. Internal_CreateInstance(this, identifier);
  10. }
  11. public static implicit operator LocString(string identifier)
  12. {
  13. return new LocString(identifier);
  14. }
  15. public static implicit operator string(LocString text)
  16. {
  17. string value;
  18. Internal_GetValue(text.mCachedPtr, out value);
  19. return value;
  20. }
  21. public void setParameter(int idx, string value)
  22. {
  23. Internal_SetParameter(mCachedPtr, idx, value);
  24. }
  25. [MethodImpl(MethodImplOptions.InternalCall)]
  26. private static extern void Internal_CreateInstance(LocString instance, string identifier);
  27. [MethodImpl(MethodImplOptions.InternalCall)]
  28. private static extern void Internal_SetParameter(IntPtr nativeInstance, int idx, string identifier);
  29. [MethodImpl(MethodImplOptions.InternalCall)]
  30. private static extern void Internal_GetValue(IntPtr nativeInstance, out string value);
  31. }
  32. }