示例#1
0
 void Start()
 {
     for (int i = 0; i < buildingCreates.Count; i++)
     {
         if (buildingCreates[i].unitSize.Length == 0)
         {
             //set building features
             BuildingProcessor building = new BuildingProcessor();
             building.setBlock(buildingCreates[i].block);
             building.setHeight(buildingCreates[i].height);
             building.setName(buildingCreates[i].nameOfBuilding);
             building.setWeight(buildingCreates[i].weight);
             buildings.Add(building);
         }
         else
         {
             //set Unitbuilding features
             UnitProcessor unit = new UnitProcessor();
             unit.setBlock(buildingCreates[i].block);
             unit.setHeight(buildingCreates[i].height);
             unit.setName(buildingCreates[i].nameOfBuilding);
             unit.setWeight(buildingCreates[i].weight);
             unit.setUnitSize(buildingCreates[i].unitSize);
             units.Add(unit);
         }
     }
 }
        private void _InitializeMod()
        {
            Monitor.Log($"Initalizing {nameof(ItemCollectorMod)}", LogLevel.Info);

            _config.MachineConfigs.ForEach(t =>
            {
                if (t.AcceptableObjects == null)
                {
                    t.AcceptableObjects = new List <AcceptableObject>();
                }

                if (t.AcceptableCategories == null)
                {
                    t.AcceptableCategories = new List <AcceptableCategory>();
                }
            });

            _machineBuildingConfigs = _config.MachineBuildingConfigs;

            var machineConfigs = _config.MachineConfigs;
            var config         = machineConfigs.FirstOrDefault(t => t.Name == "Seed Maker");

            if (config != null)
            {
                config.AcceptableObjects = _GetSeedMakerMaterials();
            }

            ItemFinder.ConnectorItems     = machineConfigs.Where(t => t.AllowConnection).ToList().Select(t => t.Name).ToList();
            ItemFinder.ConnectorFloorings = _config.FlooringsToConsiderConnectors;

            var locationsToSearch = _config.LocationsToSearch.Split(',').Select(v => v.Trim()).ToList();

            _machinesProcessor = new MachinesProcessor(machineConfigs, locationsToSearch, _config.AddBuildingsToLocations, _config.AllowDiagonalConnectionsForAllItems, Monitor)
            {
                MuteWhileCollectingFromMachines = Math.Max(0, Math.Min(5000, _config.MuteWhileCollectingFromMachines))
            };

            _buildingProcessor = new BuildingProcessor(_config.PetAnimals, _config.AdditionalFriendshipFromCollecting, _config.MuteAnimalsWhenCollecting, _config.BuildingsToIgnore, Monitor);
        }