public bool CharacterPackRemoveItem(CCharacterPack characterPack, params string[] items) { if (items.Length == 0) { return(true); } UnityAction ua = delegate { }; foreach (var item in items) { if (characterPack.Pack.ContainsKey(item)) { if (characterPack.Pack[item] - 1 == 0) { ua += delegate { characterPack.Pack.Remove(item); }; } else if (characterPack.Pack[item] - 1 < 0) { return(false); } else { ua += delegate { characterPack.Pack[item]--; }; } } else { return(false); } } ua.Invoke(); return(true); }
public void CharacterPackAddItem(CCharacterPack characterPack, params string[] items) { foreach (var item in items) { if (characterPack.Pack.ContainsKey(item)) { characterPack.Pack[item]++; } else { Debug.Log("添加新物品"); characterPack.Pack.Add(item, 1); } } }