public CapabilitiesChanges(PListDictionary dic) { if (dic == null) { return; } foreach (var kvp in dic) { SystemCapability key; try { key = (SystemCapability)System.Enum.Parse(typeof(SystemCapability), kvp.Key); } catch (System.Exception e) { Debug.LogError("EgoXproject: Invalid entry in Capabilities section. Skipping. " + e.Message); continue; } var capDic = kvp.Value as PListDictionary; if (capDic == null) { Debug.LogError("EgoXproject: Invalid entry in Capabilities section. Skipping. "); continue; } _capabilities[key] = SystemCapabilityHelper.Create(key, capDic); } }
public void EnableCapability(SystemCapability capability, bool enabled) { if (enabled) { if (!IsCapabilityEnabled(capability)) { _capabilities[capability] = SystemCapabilityHelper.Create(capability); } } else { _capabilities.Remove(capability); } }