private static void CrownRemoval(On.RoR2.CharacterModel.orig_DisableItemDisplay orig, RoR2.CharacterModel self, ItemIndex itemIndex) { for (int i = 0; i < NewDefsList.Count; i++) { if (itemIndex == NewDefsList[i].itemIndex && self.inventoryEquipmentIndex != OldDefsList[i].equipmentIndex) { for (int j = self.parentedPrefabDisplays.Count - 1; j >= 0; j--) { if (self.parentedPrefabDisplays[j].equipmentIndex == OldDefsList[i].equipmentIndex) { self.parentedPrefabDisplays[j].Undo(); self.parentedPrefabDisplays.RemoveAt(j); } } for (int k = self.limbMaskDisplays.Count - 1; k >= 0; k--) { if (self.limbMaskDisplays[k].equipmentIndex == OldDefsList[i].equipmentIndex) { self.limbMaskDisplays[k].Undo(self); self.limbMaskDisplays.RemoveAt(k); } } } } orig(self, itemIndex); }
private void DisableItemDisplayHook(On.RoR2.CharacterModel.orig_DisableItemDisplay orig, CharacterModel self, ItemIndex itemIndex) { orig(self, itemIndex); enableDisableDisplayEvent?.Invoke(self, itemIndex); }