internal void BindReference(LocalizationUnitReference reference) { if (Reference != null) { Reference.UnbindHandle(this); } Reference = reference; OnLocalizationChanged?.Invoke(this); }
internal LocalizationUnitReference RequestReference(string unitName, bool createIfNeeded = false) { var ready = References.FirstOrDefault(r => r.UnitName == unitName); if (ready == null) { //if (!ExistsUnit(unitName) && !createIfNeeded) return new LocalizationUnitReference(this, GetUnitPath(unitName), false); ready = new LocalizationUnitReference(this, GetUnitPath(unitName), createIfNeeded); References.Add(ready); } else if (!ready.IsValid && createIfNeeded) { ready.Create(); } return(ready); }