private MyLocalizationContext CreateOrGetContext(MyStringId contextId, bool disposable) { MyLocalizationContext context = null; if (!disposable) { m_contexts.TryGetValue(contextId, out context); if (context == null) { m_contexts.Add(contextId, context = new MyLocalizationContext(contextId)); // Look for twin context MyLocalizationContext twin; if (m_disposableContexts.TryGetValue(contextId, out twin)) { context.TwinContext = twin; twin.TwinContext = context; } } } else { m_disposableContexts.TryGetValue(contextId, out context); if (context == null) { m_disposableContexts.Add(contextId, context = new MyLocalizationContext(contextId)); // Look for twin context MyLocalizationContext twin; if (m_contexts.TryGetValue(contextId, out twin)) { context.TwinContext = twin; twin.TwinContext = context; } } } return(context); }
protected bool Equals(MyLocalizationContext other) { return m_contextName.Equals(other.m_contextName); }
protected bool Equals(MyLocalizationContext other) { return(m_contextName.Equals(other.m_contextName)); }
private MyLocalizationContext CreateOrGetContext(MyStringId contextId, bool disposable) { MyLocalizationContext context = null; if (!disposable) { m_contexts.TryGetValue(contextId, out context); if (context == null) { m_contexts.Add(contextId, context = new MyLocalizationContext(contextId)); // Look for twin context MyLocalizationContext twin; if (m_disposableContexts.TryGetValue(contextId, out twin)) { context.TwinContext = twin; twin.TwinContext = context; } } } else { m_disposableContexts.TryGetValue(contextId, out context); if (context == null) { m_disposableContexts.Add(contextId, context = new MyLocalizationContext(contextId)); // Look for twin context MyLocalizationContext twin; if (m_contexts.TryGetValue(contextId, out twin)) { context.TwinContext = twin; twin.TwinContext = context; } } } return context; }