public bool CanDelete() { if (this.SaveData == null || this.SaveData.AnimalData == null || (!Singleton <Manager.Map> .IsInstance() || !Singleton <Resources> .IsInstance())) { return(true); } AIProject.SaveData.AnimalData animalData = this.SaveData.AnimalData; int itemCategoryId = animalData.ItemCategoryID; int itemId = animalData.ItemID; if (Singleton <Resources> .Instance.GameInfo.GetItem(itemCategoryId, itemId) == null) { return(true); } Manager.Map instance = Singleton <Manager.Map> .Instance; List <ValueTuple <int, List <StuffItem> > > inventoryList = instance.GetInventoryList(); if (((IReadOnlyList <ValueTuple <int, List <StuffItem> > >)inventoryList).IsNullOrEmpty <ValueTuple <int, List <StuffItem> > >()) { instance.ReturnInventoryList(inventoryList); return(true); } StuffItem stuffItem = new StuffItem(itemCategoryId, itemId, 1); bool flag = false; using (List <ValueTuple <int, List <StuffItem> > > .Enumerator enumerator = inventoryList.GetEnumerator()) { while (enumerator.MoveNext()) { ValueTuple <int, List <StuffItem> > current = enumerator.Current; int capacity = (int)current.Item1; List <StuffItem> self = (List <StuffItem>)current.Item2; int possible = 0; StuffItemExtensions.CanAddItem((IReadOnlyCollection <StuffItem>)self, capacity, stuffItem, out possible); flag = stuffItem.Count <= possible; if (flag) { self.AddItem(stuffItem); break; } } } return(flag); }
private ValueTuple <AIProject.SaveData.AnimalData, PetChicken> CreateChicken( AIProject.SaveData.Environment.ChickenInfo info) { ValueTuple <AIProject.SaveData.AnimalData, PetChicken> valueTuple; ((ValueTuple <AIProject.SaveData.AnimalData, PetChicken>) ref valueTuple).\u002Ector((AIProject.SaveData.AnimalData)null, (PetChicken)null); if (info == null || !Singleton <AnimalManager> .IsInstance() || Object.op_Equality((Object)this._currentFarmPoint, (Object)null)) { return(valueTuple); } int _animalTypeID = 1; AnimalBase animalBase = Singleton <AnimalManager> .Instance.CreateBase(_animalTypeID, 1); IPetAnimal petAnimal = animalBase as IPetAnimal; if (Object.op_Equality((Object)animalBase, (Object)null)) { return(valueTuple); } ((Component)animalBase).get_transform().SetParent(this._currentFarmPoint.AnimalRoot, true); AIProject.SaveData.AnimalData animalData = new AIProject.SaveData.AnimalData(); animalData.AnimalID = animalBase.AnimalID; animalData.RegisterID = this._currentFarmPoint.RegisterID; animalData.AnimalType = AnimalTypes.Chicken; animalData.AnimalTypeID = _animalTypeID; animalData.InitAnimalTypeID = true; animalData.BreedingType = BreedingTypes.Pet; animalData.Nickname = info.name; ItemIDKeyPair itemId = animalBase.ItemID; animalData.ItemCategoryID = itemId.categoryID; animalData.ItemID = itemId.itemID; if (petAnimal != null) { petAnimal.AnimalData = animalData; if (animalBase is PetChicken) { (animalBase as PetChicken).Initialize(this._currentFarmPoint); } } valueTuple.Item1 = (__Null)animalData; valueTuple.Item2 = (__Null)(animalBase as PetChicken); return(valueTuple); }
public AnimalData(AnimalData data) { this.Copy(data); }