/// <summary> /// 设置船mod 或是船装备mod数据 /// </summary> /// <param name="equipmentModL1"></param> /// <param name="GeneralModContainer"></param> /// <param name="ExclusivelyModContainer"></param> private void SetShipModOrShipEquipModData(EquipmentModL1 equipmentModL1, IModContainer GeneralModContainer, IModContainer ExclusivelyModContainer) { for (int i = 0; i < m_ModCellList.Count; i++) { m_ModCellList[i].Cleanup(); if (i < GeneralModContainer.GetCurrentSizeMax()) { m_ModCellList[i].SetBaseData(equipmentModL1, EquipmentModL2.General, GeneralModContainer.GetUID(), i); } else { m_ModCellList[i].SetBaseData(equipmentModL1, EquipmentModL2.Exclusively, ExclusivelyModContainer.GetUID(), i - (int)GeneralModContainer.GetCurrentSizeMax()); } } IMod[] mods = GeneralModContainer.GetMods(); if (mods != null && mods.Length > 0) { for (int i = 0; i < mods.Length; i++) { m_ModCellList[mods[i].GetPos()].SetData(mods[i]); } } mods = ExclusivelyModContainer.GetMods(); int GeneralModCount = (int)GeneralModContainer.GetCurrentSizeMax(); if (mods != null && mods.Length > 0) { for (int i = 0; i < mods.Length; i++) { m_ModCellList[mods[i].GetPos() + GeneralModCount].SetData(mods[i]); } } }
public static Mod[] GetModsOfIdentifier(this IModContainer container, string identifier) { return(container.GetMods().Where(x => x.StackIdentifier == identifier).ToArray()); }
public static Mod[] GetModsOfType(this IModContainer container, Type type) { return(container.GetMods().Where(x => type.IsInstanceOfType(x)).ToArray()); }
public static T[] GetModsOfType <T> (this IModContainer container) where T : Mod { return((T[])container.GetMods().Where(x => x is T).ToArray()); }