private ModuleData GetModule(MyRuntimeEnvironmentItemInfo info) { var type = info.Type.StorageModule.Type; if (type == null) { return(null); } ModuleData moduled; if (!m_modules.TryGetValue(type, out moduled)) { moduled = new ModuleData(type, info.Type.StorageModule.Definition); if (m_moduleData != null && m_moduleData.ContainsKey(type)) { moduled.Module.Init(this, m_moduleData[type]); } else { moduled.Module.Init(this, null); } m_modules[type] = moduled; } return(moduled); }
public T GetModuleForDefinition <T>(MyRuntimeEnvironmentItemInfo itemEnvDefinition) where T : class, IMyEnvironmentModuleProxy { var proxyTypes = itemEnvDefinition.Type.ProxyModules; if (proxyTypes == null || !proxyTypes.Any(x => typeof(T).IsAssignableFrom(x.Type))) { return(null); } Module mod; m_modules.TryGetValue(typeof(T), out mod); return((T)(mod != null ? mod.Proxy : null)); }
public override IMyEnvironmentModule GetModuleForDefinition(MyRuntimeEnvironmentItemInfo def) { if (def.Type.StorageModule.Type == null) { return(null); } ModuleData modData; if (m_modules.TryGetValue(def.Type.StorageModule.Type, out modData)) { return(modData.Module); } return(null); }
public void GetDefinition(ushort index, out MyRuntimeEnvironmentItemInfo def) { def = EnvironmentDefinition.Items[index]; }
public abstract void GetItemDefinition(ushort index, out MyRuntimeEnvironmentItemInfo def);
public abstract IMyEnvironmentModule GetModuleForDefinition(MyRuntimeEnvironmentItemInfo def);
public override void GetItemDefinition(ushort key, out MyRuntimeEnvironmentItemInfo it) { it = m_environment.Items[key]; }