예제 #1
0
 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);
 }
예제 #2
0
        private void DisableItemDisplayHook(On.RoR2.CharacterModel.orig_DisableItemDisplay orig,
                                            CharacterModel self,
                                            ItemIndex itemIndex)
        {
            orig(self, itemIndex);

            enableDisableDisplayEvent?.Invoke(self, itemIndex);
        }