コード例 #1
0
    private static void DropAllItems()
    {
        GameObject player = GameManager.Instance.PlayerObject;

        dropCollection = new ItemCollection();
        ItemCollection keepItemsCollection = new ItemCollection();

        UnequipAll();

        dropCollection.AddItems(playerEntity.Items.CloneAll());

        for (int i = 0; i < dropCollection.Count; i++)
        {
            DaggerfallUnityItem item = dropCollection.GetItem(i);
            if (item.QuestItemSymbol != null || item.IsQuestItem || item.IsSummoned || item.TemplateIndex == 132 || item.TemplateIndex == 93 || item.TemplateIndex == 94)
            {
                if (item.IsEquipped)
                {
                    item.UnequipItem(playerEntity);
                }
                keepItemsCollection.AddItem(item);
                dropCollection.RemoveItem(item);
            }
        }
        DaggerfallLoot equipPile = GameObjectHelper.CreateDroppedLootContainer(player, DaggerfallUnity.NextUID);

        equipPile.customDrop  = true;
        equipPile.playerOwned = true;
        equipPile.Items.AddItems(dropCollection.CloneAll());
        playerEntity.Items.Clear();
        dropCollection.Clear();

        for (int i = 0; i < keepItemsCollection.Count; i++)
        {
            DaggerfallUnityItem item = keepItemsCollection.GetItem(i);
            playerEntity.Items.AddItem(item);
        }
        keepItemsCollection.Clear();
    }