1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using Sirenix.OdinInspector;
- namespace KairoEngine.Inventory
- {
- public class TransferItems : MonoBehaviour
- {
- public bool onStart = true;
- public ItemContainer sourceItemContainer;
- public ItemContainer targetItemContainer;
- public bool transferFirearms = true;
- public bool transferHandWeapons = true;
- public bool transferInstantEffect = true;
- public bool transferAmmo = false;
- public bool transferMoney = false;
-
- void Start()
- {
- if(onStart) Transfer();
- }
- void Update()
- {
- if(sourceItemContainer.inventory.Count > 0) Transfer();
- }
- public void Transfer()
- {
- for (int i = 0; i < sourceItemContainer.inventory.Count; i++)
- {
- ItemRef itemRef = sourceItemContainer.inventory[i];
- if(itemRef == null) continue;
- switch (itemRef.item.category)
- {
- case ItemType.firearm:
- if(transferFirearms) TransferItem(itemRef);
- break;
- case ItemType.handWeapon:
- if(transferHandWeapons) TransferItem(itemRef);
- break;
- case ItemType.instantEffect:
- if(transferInstantEffect) TransferItem(itemRef);
- break;
- case ItemType.ammo:
- if(transferAmmo) TransferItem(itemRef);
- break;
- default:
- if(transferMoney && itemRef.item.title == "Old Dollars") TransferItem(itemRef);
- break;
- }
- }
-
- }
- void TransferItem(ItemRef itemRef)
- {
- targetItemContainer.AddItem(itemRef);
- sourceItemContainer.RemoveItem(itemRef);
- }
- }
- }
|