コード例 #1
0
        // Token: 0x06001357 RID: 4951 RVA: 0x00052D40 File Offset: 0x00050F40
        private static int CleanseInventoryServer(Inventory inventory)
        {
            int num = 0;

            for (int i = 0; i < ShrineCleanseBehavior.cleansableItems.Length; i++)
            {
                ItemIndex itemIndex = ShrineCleanseBehavior.cleansableItems[i];
                int       itemCount = inventory.GetItemCount(itemIndex);
                if (itemCount != 0)
                {
                    inventory.RemoveItem(itemIndex, itemCount);
                    num += itemCount;
                }
            }
            int num2 = 0;
            int j    = 0;
            int equipmentSlotCount = inventory.GetEquipmentSlotCount();

            while (j < equipmentSlotCount)
            {
                EquipmentState equipment = inventory.GetEquipment((uint)j);
                for (int k = 0; k < ShrineCleanseBehavior.cleansableEquipments.Length; k++)
                {
                    if (equipment.equipmentIndex == ShrineCleanseBehavior.cleansableEquipments[k])
                    {
                        inventory.SetEquipment(EquipmentState.empty, (uint)j);
                        num2++;
                    }
                }
                j++;
            }
            return(num + num2);
        }
コード例 #2
0
            // Token: 0x060019D1 RID: 6609 RVA: 0x0007B5B0 File Offset: 0x000797B0
            public static RunReport.PlayerInfo Generate(PlayerCharacterMasterController playerCharacterMasterController)
            {
                CharacterMaster      characterMaster = playerCharacterMasterController.master;
                Inventory            inventory       = characterMaster.inventory;
                PlayerStatsComponent component       = playerCharacterMasterController.GetComponent <PlayerStatsComponent>();

                RunReport.PlayerInfo playerInfo = new RunReport.PlayerInfo();
                playerInfo.networkUser     = playerCharacterMasterController.networkUser;
                playerInfo.master          = characterMaster;
                playerInfo.bodyIndex       = BodyCatalog.FindBodyIndex(characterMaster.bodyPrefab);
                playerInfo.killerBodyIndex = characterMaster.GetKillerBodyIndex();
                StatSheet.Copy(component.currentStats, playerInfo.statSheet);
                playerInfo.itemAcquisitionOrder = inventory.itemAcquisitionOrder.ToArray();
                for (ItemIndex itemIndex = ItemIndex.Syringe; itemIndex < ItemIndex.Count; itemIndex++)
                {
                    playerInfo.itemStacks[(int)itemIndex] = inventory.GetItemCount(itemIndex);
                }
                playerInfo.equipment = new EquipmentIndex[inventory.GetEquipmentSlotCount()];
                uint num = 0u;

                while ((ulong)num < (ulong)((long)playerInfo.equipment.Length))
                {
                    playerInfo.equipment[(int)num] = inventory.GetEquipment(num).equipmentIndex;
                    num += 1u;
                }
                return(playerInfo);
            }
コード例 #3
0
        // Token: 0x06001356 RID: 4950 RVA: 0x00052CC8 File Offset: 0x00050EC8
        private static bool InventoryIsCleansable(Inventory inventory)
        {
            for (int i = 0; i < ShrineCleanseBehavior.cleansableItems.Length; i++)
            {
                if (inventory.GetItemCount(ShrineCleanseBehavior.cleansableItems[i]) > 0)
                {
                    return(true);
                }
            }
            int j = 0;
            int equipmentSlotCount = inventory.GetEquipmentSlotCount();

            while (j < equipmentSlotCount)
            {
                EquipmentState equipment = inventory.GetEquipment((uint)j);
                for (int k = 0; k < ShrineCleanseBehavior.cleansableEquipments.Length; k++)
                {
                    if (equipment.equipmentIndex == ShrineCleanseBehavior.cleansableEquipments[k])
                    {
                        return(true);
                    }
                }
                j++;
            }
            return(false);
        }