コード例 #1
0
        public void OnProtoDeserializeObjectTree(ProtobufSerializer serializer)
        {
            QuickLogger.Debug("Loading save data");

            if (_saveData.LoadData())
            {
                isLoadingSaveData = true;
                QuickLogger.Debug("Save data found");

                RodsContainer.Clear(false);
                reactorRodData.Clear();

                int nonEmptySlots = 0;
                for (int r = 0; r < _saveData.SlotData.Count; r++)
                {
                    CyNukeRodSaveData rodData    = _saveData.SlotData[r];
                    TechType          techTypeID = rodData.TechTypeID;

                    if (techTypeID != TechType.None)
                    {
                        InventoryItem spanwedItem = SpawnItem(techTypeID);

                        if (spanwedItem != null)
                        {
                            InventoryItem rod = RodsContainer.AddItem(spanwedItem.item);
                            AddNewRod(rodData.RemainingCharge, rod.item);
                            nonEmptySlots++;
                        }
                    }
                }

                QuickLogger.Debug($"Added {nonEmptySlots} items from save data");

                isLoadingSaveData = false;
            }
        }
コード例 #2
0
        private void OnFoodCookedAll(TechType oldTechType, List <TechType> cookedTechTypes)
        {
            _mono.AudioManager.StopMachineAudio();

            foreach (TechType type in cookedTechTypes)
            {
                var newFood = GameObject.Instantiate(CraftData.GetPrefabForTechType(type));

#if SUBNAUTICA
                var item = new InventoryItem(newFood.GetComponent <Pickupable>().Pickup(false));
#elif BELOWZERO
                Pickupable pickupable = newFood.GetComponent <Pickupable>();
                pickupable.Pickup(false);
                var item = new InventoryItem(pickupable);
#endif

                _exportContainer.UnsafeAdd(item);

                QuickLogger.Debug($"Food {oldTechType} has been cooked", true);
            }

            if (_exportToSeaBreeze)
            {
                SendToSeaBreeze();
            }

            _container.Clear();
            _lockInputContainer = false;

            //if (_container.count > 0)
            //{
            //    CookStoredFood();
            //    return;
            //}

            _mono.DisplayManager.ToggleProcessDisplay(false);
            _mono.UpdateIsRunning(false);
        }