StringTable.generated.cs 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. using System;
  2. using System.Runtime.CompilerServices;
  3. using System.Runtime.InteropServices;
  4. namespace BansheeEngine
  5. {
  6. /** @addtogroup Localization
  7. * @{
  8. */
  9. /// <summary>Used for string localization. Stores strings and their translations in various languages.</summary>
  10. public partial class StringTable : Resource
  11. {
  12. private StringTable(bool __dummy0) { }
  13. /// <summary>Creates a new empty string table resource.</summary>
  14. public StringTable()
  15. {
  16. Internal_create(this);
  17. }
  18. /// <summary>Returns a total number of strings in the table.</summary>
  19. public uint NumStrings
  20. {
  21. get { return Internal_getNumStrings(mCachedPtr); }
  22. }
  23. /// <summary>Returns all identifiers that the string table contains localized strings for.</summary>
  24. public string[] Identifiers
  25. {
  26. get { return Internal_getIdentifiers(mCachedPtr); }
  27. }
  28. /// <summary>Checks does the string table contain the provided identifier.</summary>
  29. /// <param name="identifier">Identifier to look for.</param>
  30. /// <returns>True if the identifier exists in the table, false otherwise.</returns>
  31. public bool Contains(string identifier)
  32. {
  33. return Internal_contains(mCachedPtr, identifier);
  34. }
  35. /// <summary>Adds or modifies string translation for the specified language.</summary>
  36. public void SetString(string identifier, Language language, string value)
  37. {
  38. Internal_setString(mCachedPtr, identifier, language, value);
  39. }
  40. /// <summary>
  41. /// Returns a string translation for the specified language. Returns the identifier itself if one doesn't exist.
  42. /// </summary>
  43. public string GetString(string identifier, Language language)
  44. {
  45. return Internal_getString(mCachedPtr, identifier, language);
  46. }
  47. /// <summary>Removes the string described by identifier, from all languages.</summary>
  48. public void RemoveString(string identifier)
  49. {
  50. Internal_removeString(mCachedPtr, identifier);
  51. }
  52. [MethodImpl(MethodImplOptions.InternalCall)]
  53. private static extern bool Internal_contains(IntPtr thisPtr, string identifier);
  54. [MethodImpl(MethodImplOptions.InternalCall)]
  55. private static extern uint Internal_getNumStrings(IntPtr thisPtr);
  56. [MethodImpl(MethodImplOptions.InternalCall)]
  57. private static extern string[] Internal_getIdentifiers(IntPtr thisPtr);
  58. [MethodImpl(MethodImplOptions.InternalCall)]
  59. private static extern void Internal_setString(IntPtr thisPtr, string identifier, Language language, string value);
  60. [MethodImpl(MethodImplOptions.InternalCall)]
  61. private static extern string Internal_getString(IntPtr thisPtr, string identifier, Language language);
  62. [MethodImpl(MethodImplOptions.InternalCall)]
  63. private static extern void Internal_removeString(IntPtr thisPtr, string identifier);
  64. [MethodImpl(MethodImplOptions.InternalCall)]
  65. private static extern void Internal_create(StringTable managedInstance);
  66. }
  67. /** @} */
  68. }