public LocalizationUnitHandle RequestHandle() { var handle = new LocalizationUnitHandle(); RegisterHandle(handle); return(handle); }
internal void UnbindHandle(LocalizationUnitHandle handle) { if (Handles.Contains(handle)) { Handles.Remove(handle); } RefreshUnitReference(); }
internal void Migrate(LocalizationGroup newGroup) { var newReference = newGroup.RequestReference(UnitName); int i = 0; LocalizationUnitHandle prevHandle = null; while (i < Handles.Count) { prevHandle = Handles[i]; newReference.RegisterHandle(Handles[i]); if (i < Handles.Count && prevHandle == Handles[i]) { i++; } } }
/// <summary> /// Returns true if the handle has no reference of actual unit or has already disposed. /// </summary> /// <param name="handle"></param> /// <returns></returns> public static bool IsEmpty(LocalizationUnitHandle handle) { return(handle.Reference == null); }
internal void RegisterHandle(LocalizationUnitHandle handle) { Handles.Add(handle); RefreshUnitReference(); handle.BindReference(this); }