public bool Available(uint TypeID, uint Quantity) { var ListSet = IFFEntry.GetIff.SetItem.SetList(TypeID); switch (TypeID.GetItemGroup()) { case IffGroupFlag.ITEM_TYPE_SETITEM: { if (ListSet.Count <= 0) { return(false); } else { foreach (var data in ListSet) { Available(data.Keys.FirstOrDefault(), data.Values.FirstOrDefault()); } return(true); } } case IffGroupFlag.ITEM_TYPE_CHARACTER: { return(true); } case IffGroupFlag.ITEM_TYPE_HAIR_STYLE: { return(true); } case IffGroupFlag.ITEM_TYPE_PART: { return(true); } case IffGroupFlag.ITEM_TYPE_CLUB: { if (ItemWarehouse.IsClubExist(TypeID)) { return(false); } else { return(true); } } case IffGroupFlag.ITEM_TYPE_AUX: case IffGroupFlag.ITEM_TYPE_BALL: case IffGroupFlag.ITEM_TYPE_USE: { if (GetQuantity(TypeID) + Quantity > 32767) { return(false); } return(true); } case IffGroupFlag.ITEM_TYPE_CADDIE: { if (ItemCaddie.IsExist(TypeID)) { return(false); } return(true); } case IffGroupFlag.ITEM_TYPE_CADDIE_ITEM: { if (ItemCaddie.CanHaveSkin(TypeID)) { return(true); } return(false); } case IffGroupFlag.ITEM_TYPE_SKIN: { if (ItemWarehouse.IsSkinExist(TypeID)) { } return(true); } case IffGroupFlag.ITEM_TYPE_MASCOT: { return(true); } case IffGroupFlag.ITEM_TYPE_CARD: { return(true); } } return(false); }