| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- using System;
- using System.Runtime.CompilerServices;
- using System.Runtime.InteropServices;
- namespace BansheeEngine
- {
- /** @addtogroup Localization
- * @{
- */
- /// <summary>Used for string localization. Stores strings and their translations in various languages.</summary>
- public partial class StringTable : Resource
- {
- private StringTable(bool __dummy0) { }
- /// <summary>Creates a new empty string table resource.</summary>
- public StringTable()
- {
- Internal_create(this);
- }
- /// <summary>Returns a total number of strings in the table.</summary>
- public uint NumStrings
- {
- get { return Internal_getNumStrings(mCachedPtr); }
- }
- /// <summary>Returns all identifiers that the string table contains localized strings for.</summary>
- public string[] Identifiers
- {
- get { return Internal_getIdentifiers(mCachedPtr); }
- }
- /// <summary>Checks does the string table contain the provided identifier.</summary>
- /// <param name="identifier">Identifier to look for.</param>
- /// <returns>True if the identifier exists in the table, false otherwise.</returns>
- public bool Contains(string identifier)
- {
- return Internal_contains(mCachedPtr, identifier);
- }
- /// <summary>Adds or modifies string translation for the specified language.</summary>
- public void SetString(string identifier, Language language, string value)
- {
- Internal_setString(mCachedPtr, identifier, language, value);
- }
- /// <summary>
- /// Returns a string translation for the specified language. Returns the identifier itself if one doesn't exist.
- /// </summary>
- public string GetString(string identifier, Language language)
- {
- return Internal_getString(mCachedPtr, identifier, language);
- }
- /// <summary>Removes the string described by identifier, from all languages.</summary>
- public void RemoveString(string identifier)
- {
- Internal_removeString(mCachedPtr, identifier);
- }
- [MethodImpl(MethodImplOptions.InternalCall)]
- private static extern bool Internal_contains(IntPtr thisPtr, string identifier);
- [MethodImpl(MethodImplOptions.InternalCall)]
- private static extern uint Internal_getNumStrings(IntPtr thisPtr);
- [MethodImpl(MethodImplOptions.InternalCall)]
- private static extern string[] Internal_getIdentifiers(IntPtr thisPtr);
- [MethodImpl(MethodImplOptions.InternalCall)]
- private static extern void Internal_setString(IntPtr thisPtr, string identifier, Language language, string value);
- [MethodImpl(MethodImplOptions.InternalCall)]
- private static extern string Internal_getString(IntPtr thisPtr, string identifier, Language language);
- [MethodImpl(MethodImplOptions.InternalCall)]
- private static extern void Internal_removeString(IntPtr thisPtr, string identifier);
- [MethodImpl(MethodImplOptions.InternalCall)]
- private static extern void Internal_create(StringTable managedInstance);
- }
- /** @} */
- }
|