public void UpdateFieldCrop(string fldName, FieldCrop updtCrop) { FarmData userData = _ctx.HttpContext.Session.GetObjectFromJson <FarmData>("FarmData"); userData.unsaved = true; YearData yd = userData.years.FirstOrDefault(y => y.year == userData.farmDetails.year); Field fld = yd.fields.FirstOrDefault(f => f.fieldName == fldName); FieldCrop crp = fld.crops.FirstOrDefault(m => m.id == updtCrop.id); crp.cropId = updtCrop.cropId; crp.yield = updtCrop.yield; crp.reqK2o = updtCrop.reqK2o; crp.reqN = updtCrop.reqN; crp.stdN = updtCrop.stdN; crp.reqP2o5 = updtCrop.reqP2o5; crp.remK2o = updtCrop.remK2o; crp.remN = updtCrop.remN; crp.remP2o5 = updtCrop.remP2o5; crp.crudeProtien = updtCrop.crudeProtien; crp.prevCropId = updtCrop.prevCropId; crp.cropOther = updtCrop.cropOther; crp.coverCropHarvested = updtCrop.coverCropHarvested; // cannot be modified in the UI crp.prevYearManureAppl_volCatCd = _sd.GetCropPrevYearManureApplVolCatCd(Convert.ToInt32(crp.cropId)); crp.yieldHarvestUnit = updtCrop.yieldHarvestUnit; crp.yieldByHarvestUnit = updtCrop.yieldByHarvestUnit; _ctx.HttpContext.Session.SetObjectAsJson("FarmData", userData); }
public List <FarmManure> GetFarmManures() { FarmData userData = _ctx.HttpContext.Session.GetObjectFromJson <FarmData>("FarmData"); YearData yd = userData.years.FirstOrDefault(y => y.year == userData.farmDetails.year); if (yd.farmManures == null) { yd.farmManures = new List <FarmManure>(); } foreach (var fm in yd.farmManures) { if (!fm.customized) { Manure man = _sd.GetManure(fm.manureId.ToString()); fm.ammonia = man.ammonia; fm.dmid = man.dmid; fm.manure_class = man.manure_class; fm.moisture = man.moisture; fm.name = man.name; fm.nitrate = (decimal?)null; fm.nitrogen = man.nitrogen; fm.nminerizationid = man.nminerizationid; fm.phosphorous = man.phosphorous; fm.potassium = man.potassium; fm.solid_liquid = man.solid_liquid; } } return(yd.farmManures); }
public void UpdateFieldSoilTest(Field updtFld) { FarmData userData = _ctx.HttpContext.Session.GetObjectFromJson <FarmData>("FarmData"); userData.unsaved = true; YearData yd = userData.years.FirstOrDefault(y => y.year == userData.farmDetails.year); Field fld = yd.fields.FirstOrDefault(f => f.fieldName == updtFld.fieldName); if (fld.soilTest == null) { fld.soilTest = new SoilTest(); } if (updtFld.soilTest == null) { fld.soilTest = null; } else { fld.soilTest.sampleDate = updtFld.soilTest.sampleDate; fld.soilTest.ValP = updtFld.soilTest.ValP; fld.soilTest.valK = updtFld.soilTest.valK; fld.soilTest.valNO3H = updtFld.soilTest.valNO3H; fld.soilTest.valPH = updtFld.soilTest.valPH; fld.soilTest.ConvertedKelownaK = updtFld.soilTest.ConvertedKelownaK; fld.soilTest.ConvertedKelownaP = updtFld.soilTest.ConvertedKelownaP; } _ctx.HttpContext.Session.SetObjectAsJson("FarmData", userData); }
public static bool CanBuy( PlayerScript player, FarmItemDefinition definition, FarmData __instance, bool __result ) { if (!isEnable) { return(true); } #region //logger.Log(definition.); //for (int i = 0; i < building.buildings.Count; i++) //{ // if (building.buildings[i].isEnable) // { // if(definition.FullId== building.buildings[i].ID) // { // definition.ItemCountLimit = building.buildings[i].limit; // } // } //} #endregion { //完全版 definition.ItemCountLimit = 99999; } return(true); }
public void UpdateFarmDetails(FarmDetails fd) { FarmData userData = _ctx.HttpContext.Session.GetObjectFromJson <FarmData>("FarmData"); userData.unsaved = true; userData.farmDetails.farmName = fd.farmName; userData.farmDetails.farmRegion = fd.farmRegion; userData.farmDetails.soilTests = fd.soilTests; userData.farmDetails.testingMethod = fd.testingMethod; userData.farmDetails.manure = fd.manure; userData.farmDetails.year = fd.year; //change the year associated with the array YearData yd = userData.years.FirstOrDefault(); if (yd == null) { YearData ny = new YearData(); ny.year = fd.year; userData.years.Add(ny); } else { yd.year = fd.year; } _ctx.HttpContext.Session.SetObjectAsJson("FarmData", userData); }
public void UpdateFieldCrop(string fldName, FieldCrop updtCrop) { FarmData userData = _ctx.HttpContext.Session.GetObjectFromJson <FarmData>("FarmData"); userData.unsaved = true; YearData yd = userData.years.FirstOrDefault(y => y.year == userData.farmDetails.year); Field fld = yd.fields.FirstOrDefault(f => f.fieldName == fldName); FieldCrop crp = fld.crops.FirstOrDefault(m => m.id == updtCrop.id); crp.cropId = updtCrop.cropId; crp.yield = updtCrop.yield; crp.reqK2o = updtCrop.reqK2o; crp.reqN = updtCrop.reqN; crp.stdN = updtCrop.stdN; crp.reqP2o5 = updtCrop.reqP2o5; crp.remK2o = updtCrop.remK2o; crp.remN = updtCrop.remN; crp.remP2o5 = updtCrop.remP2o5; crp.crudeProtien = updtCrop.crudeProtien; crp.prevCropId = updtCrop.prevCropId; crp.cropOther = updtCrop.cropOther; crp.coverCropHarvested = updtCrop.coverCropHarvested; _ctx.HttpContext.Session.SetObjectAsJson("FarmData", userData); }
public void UpdateFieldNutrientsFertilizer(string fldName, NutrientFertilizer updtFert) { FarmData userData = _ctx.HttpContext.Session.GetObjectFromJson <FarmData>("FarmData"); userData.unsaved = true; YearData yd = userData.years.FirstOrDefault(y => y.year == userData.farmDetails.year); Field fld = yd.fields.FirstOrDefault(f => f.fieldName == fldName); NutrientFertilizer nf = fld.nutrients.nutrientFertilizers.FirstOrDefault(m => m.id == updtFert.id); nf.applDate = updtFert.applDate; nf.applMethodId = updtFert.applMethodId; nf.applRate = updtFert.applRate; nf.applUnitId = updtFert.applUnitId; nf.fertilizerId = updtFert.fertilizerId; nf.fertilizerTypeId = updtFert.fertilizerTypeId; nf.fertK2o = updtFert.fertK2o; nf.fertN = updtFert.fertN; nf.fertP2o5 = updtFert.fertP2o5; nf.customN = updtFert.customN; nf.customP2o5 = updtFert.customP2o5; nf.customK2o = updtFert.customK2o; nf.liquidDensity = updtFert.liquidDensity; nf.liquidDensityUnitId = updtFert.liquidDensityUnitId; _ctx.HttpContext.Session.SetObjectAsJson("FarmData", userData); }
public void AddFieldNutrientsOther(string fldName, NutrientOther newOther) { int nextId = 1; FarmData userData = _ctx.HttpContext.Session.GetObjectFromJson <FarmData>("FarmData"); userData.unsaved = true; YearData yd = userData.years.FirstOrDefault(y => y.year == userData.farmDetails.year); Field fld = yd.fields.FirstOrDefault(f => f.fieldName == fldName); if (fld.nutrients == null) { fld.nutrients = new Nutrients(); fld.nutrients.nutrientOthers = new List <NutrientOther>(); } else { if (fld.nutrients.nutrientOthers == null) { fld.nutrients.nutrientOthers = new List <NutrientOther>(); } } foreach (var f in fld.nutrients.nutrientOthers) { nextId = nextId <= f.id ? f.id + 1 : nextId; } newOther.id = nextId; fld.nutrients.nutrientOthers.Add(newOther); _ctx.HttpContext.Session.SetObjectAsJson("FarmData", userData); }
/// <summary>Generates specific spawn times for a list of objects and adds them to the Utility.TimedSpawns list.</summary> /// <param name="objects">A list of saved objects to be spawned during the current in-game day.</param> /// <param name="data">The FarmData from which these saved objects were generated.</param> /// <param name="area">The SpawnArea for which these saved objects were generated.</param> public static void PopulateTimedSpawnList(List <SavedObject> objects, FarmData data, SpawnArea area) { List <TimedSpawn> timedSpawns = new List <TimedSpawn>(); //the list of fully processed objects and associated data Dictionary <int, int> possibleTimes = new Dictionary <int, int>(); //a dictionary of valid spawn times (keys) and the number of objects assigned to them (values) if (area.SpawnTiming == null) //if the SpawnTiming setting is null { possibleTimes.Add(600, 0); //spawn everything at 6:00AM } else { for (StardewTime x = area.SpawnTiming.StartTime; x <= area.SpawnTiming.EndTime; x++) //for each 10-minute time from StartTime to EndTime { possibleTimes.Add(x, 0); //add this time to the list } } foreach (SavedObject obj in objects) //for each provided object { int index = RNG.Next(0, possibleTimes.Count); //randomly select an index for a valid time obj.SpawnTime = possibleTimes.Keys.ElementAt(index); //assign the time to this object timedSpawns.Add(new TimedSpawn(obj, data, area)); //add this object to the processed list possibleTimes[obj.SpawnTime]++; //increment the number of objects assigned to this time if (area.SpawnTiming.MaximumSimultaneousSpawns.HasValue && area.SpawnTiming.MaximumSimultaneousSpawns.Value <= possibleTimes[obj.SpawnTime]) //if "max spawns" exists and has been reached for this time { possibleTimes.Remove(obj.SpawnTime); //remove this time from the list } else if (area.SpawnTiming.MinimumTimeBetweenSpawns.HasValue && area.SpawnTiming.MinimumTimeBetweenSpawns.Value > 10) //if "time between" exists and is significant { int between = (area.SpawnTiming.MinimumTimeBetweenSpawns.Value - 10) / 10; //get the number of other possible times to remove before/after the selected time StardewTime minTime = obj.SpawnTime; //the earliest time to be removed from the list StardewTime maxTime = obj.SpawnTime; //the latest time to be removed from the list for (int x = 0; x < between; x++) //for each adjacent time to be removed { minTime--; //select the previous time maxTime++; //select the next time } for (int x = possibleTimes.Count - 1; x >= 0; x--) //for each possible time (looping backward for removal purposes) { int time = possibleTimes.Keys.ElementAt(x); if (time != obj.SpawnTime && time >= minTime && time <= maxTime) //if this time isn't the selected time, and is within the range of minTime and maxTime { possibleTimes.Remove(time); //remove it from the list } } } if (possibleTimes.Count <= 0) //if no valid spawn times are left { break; //skip the rest of the objects } } TimedSpawns.Add(timedSpawns); //add the processed list of timed spawns to Utility.TimedSpawns }
private static bool CheckMerge(FarmTileId tile1, FarmTileId tile2, FarmData __instance) { if (!settings.isEnable) { return(true); } FarmTile tile3 = __instance.GetTile(tile1); if (tile3 == null || tile3.IsEmpty) { return(false); } FarmTile tile4 = __instance.GetTile(tile2); if (tile4 == null || tile4.IsEmpty) { return(false); } if (tile3.Contents.Category == tile4.Contents.Category) { FarmTileContentsType category = tile3.Contents.Category; if (category != FarmTileContentsType.Animal) { if (category == FarmTileContentsType.Pond) { PondContents pondContents = tile3.Contents as PondContents; PondContents pondContents2 = tile4.Contents as PondContents; if (pondContents.Pond == pondContents2.Pond) { return(false); } if (pondContents.Pond.Tiles.Count + pondContents2.Pond.Tiles.Count > settings.maxTileCount) { return(false); } pondContents2.Pond.Merge(pondContents.Pond); tile3.StateChanged(true); tile4.StateChanged(true); } } else { AnimalFieldContents animalFieldContents = tile3.Contents as AnimalFieldContents; AnimalFieldContents animalFieldContents2 = tile4.Contents as AnimalFieldContents; if (animalFieldContents.Field == animalFieldContents2.Field) { return(false); } if (animalFieldContents.Field.TileCount + animalFieldContents2.Field.TileCount > settings.maxTileCount) { return(false); } animalFieldContents2.Field.Merge(animalFieldContents.Field); tile3.StateChanged(true); tile4.StateChanged(true); } } return(false); }
public async Task MakeFarmFromFarmDataAsync_Instagram() { var farmData = new FarmData { SocialMedia = @"www.learnlandleisure.com, @hillhousefarmdorking, www.facebook.com/hillhousefarmdorking" }; var farm = await FarmDataToFarmService.MakeFarmFromFarmDataAsync(farmData); Assert.Equal("@hillhousefarmdorking", farm.Instagram); }
public async Task MakeFarmFromFarmDataAsync_Website_HttpOnly() { var farmData = new FarmData { SocialMedia = @"www.lowerclopton.co.uk, Facebook: Lower Clopton Farm Shop and Cafe, @lowercloptonfarmshoppton" }; var farm = await FarmDataToFarmService.MakeFarmFromFarmDataAsync(farmData); Assert.Equal("http://www.lowerclopton.co.uk", farm.Website); }
public async Task MakeFarmFromFarmDataAsync_Website_Https() { var farmData = new FarmData { SocialMedia = @"www.scottiescoffee.co.uk" }; var farm = await FarmDataToFarmService.MakeFarmFromFarmDataAsync(farmData); Assert.Equal("https://www.scottiescoffee.co.uk", farm.Website); }
public NutrientFertilizer GetFieldNutrientsFertilizer(string fldName, int fertId) { FarmData userData = _ctx.HttpContext.Session.GetObjectFromJson <FarmData>("FarmData"); YearData yd = userData.years.FirstOrDefault(y => y.year == userData.farmDetails.year); Field fld = yd.fields.FirstOrDefault(f => f.fieldName == fldName); NutrientFertilizer nf = fld.nutrients.nutrientFertilizers.FirstOrDefault(m => m.id == fertId); return(nf); }
public NutrientManure GetFieldNutrientsManure(string fldName, int manId) { FarmData userData = _ctx.HttpContext.Session.GetObjectFromJson <FarmData>("FarmData"); YearData yd = userData.years.FirstOrDefault(y => y.year == userData.farmDetails.year); Field fld = yd.fields.FirstOrDefault(f => f.fieldName == fldName); NutrientManure nm = fld.nutrients.nutrientManures.FirstOrDefault(m => m.id == manId); return(nm); }
public FieldCrop GetFieldCrop(string fldName, int cropId) { FarmData userData = _ctx.HttpContext.Session.GetObjectFromJson <FarmData>("FarmData"); YearData yd = userData.years.FirstOrDefault(y => y.year == userData.farmDetails.year); Field fld = yd.fields.FirstOrDefault(f => f.fieldName == fldName); FieldCrop crp = fld.crops.FirstOrDefault(m => m.id == cropId); return(crp); }
public FarmData CreateFarmData(Coords coords) { FarmData farmData = new FarmData(coords, "Farm " + (gameController.data.farmData.Count + 1)); gameController.data.farmData.Add(farmData); VoxelData voxelData = gameController.data.voxelData[coords.x, coords.y]; voxelData.occupied = true; voxelData.hasFarm = true; return(farmData); }
void InitAnimalData(FarmData data) { m_AnimalData = data; animalLandList = data.land_list; AnimalUnlockNum = data.unlocked; AnimalFastRipeNum = data.fast_ripe; foreach (var animal in animalLandList) { AddSeedToDic(animal.farm_id + animalIndexStart, animal.seed_id); } }
public void DeleteField(string name) { FarmData userData = _ctx.HttpContext.Session.GetObjectFromJson <FarmData>("FarmData"); userData.unsaved = true; YearData yd = userData.years.FirstOrDefault(y => y.year == userData.farmDetails.year); Field fld = yd.fields.FirstOrDefault(f => f.fieldName == name); yd.fields.Remove(fld); _ctx.HttpContext.Session.SetObjectAsJson("FarmData", userData); }
public void DeleteFarmManure(int id) { FarmData userData = _ctx.HttpContext.Session.GetObjectFromJson <FarmData>("FarmData"); userData.unsaved = true; YearData yd = userData.years.FirstOrDefault(y => y.year == userData.farmDetails.year); FarmManure fm = yd.farmManures.FirstOrDefault(f => f.id == id); yd.farmManures.Remove(fm); _ctx.HttpContext.Session.SetObjectAsJson("FarmData", userData); }
public IActionResult Download() { FarmData farmData = _ud.FarmData(); farmData.unsaved = false; _ud.SaveFarmData(farmData); var fileName = farmData.farmDetails.year + " - " + farmData.farmDetails.farmName + ".nmp"; byte[] fileBytes = Encoding.ASCII.GetBytes(HttpContext.Session.GetString("FarmData")); return(File(fileBytes, "application/octet-stream", fileName)); }
public List <Field> GetFields() { FarmData userData = _ctx.HttpContext.Session.GetObjectFromJson <FarmData>("FarmData"); YearData yd = userData.years.FirstOrDefault(y => y.year == userData.farmDetails.year); if (yd.fields == null) { yd.fields = new List <Field>(); } return(yd.fields); }
public FarmData FarmData() { FarmData farmData = null; try { farmData = _ctx.HttpContext.Session.GetObjectFromJson <FarmData>("FarmData"); } catch (Exception ex) { } return(farmData); }
public void DeleteFieldNutrientsFertilizer(string fldName, int id) { FarmData userData = _ctx.HttpContext.Session.GetObjectFromJson <FarmData>("FarmData"); userData.unsaved = true; YearData yd = userData.years.FirstOrDefault(y => y.year == userData.farmDetails.year); Field fld = yd.fields.FirstOrDefault(f => f.fieldName == fldName); NutrientFertilizer nf = fld.nutrients.nutrientFertilizers.FirstOrDefault(m => m.id == id); fld.nutrients.nutrientFertilizers.Remove(nf); _ctx.HttpContext.Session.SetObjectAsJson("FarmData", userData); }
public void UpdateField(Field updtFld) { FarmData userData = _ctx.HttpContext.Session.GetObjectFromJson <FarmData>("FarmData"); userData.unsaved = true; YearData yd = userData.years.FirstOrDefault(y => y.year == userData.farmDetails.year); Field fld = yd.fields.FirstOrDefault(f => f.id == updtFld.id); fld.fieldName = updtFld.fieldName; fld.area = updtFld.area; fld.comment = updtFld.comment; _ctx.HttpContext.Session.SetObjectAsJson("FarmData", userData); }
public IActionResult FileLoad() { FileLoadViewModel lvm = new FileLoadViewModel(); lvm.warningMsg = _sd.GetUserPrompt("fileoverwritewarning"); FarmData farmData = _ud.FarmData(); if (farmData != null && farmData.unsaved) { lvm.unsavedData = true; } return(View(lvm)); }
public void NewFarm() { string newYear = DateTime.Now.ToString("yyyy"); FarmData userData = new FarmData(); userData.farmDetails = new FarmDetails(); userData.farmDetails.year = newYear; userData.years = new List <YearData>(); userData.years.Add(new YearData() { year = newYear }); userData.unsaved = true; _ctx.HttpContext.Session.SetObjectAsJson("FarmData", userData); }
public IActionResult Index() { _ud.SetActiveSession(); IndexViewModel lvm = new IndexViewModel(); FarmData fd = _ud.FarmData(); if (fd != null && fd.unsaved) { lvm.unsavedData = true; } lvm.welcomeMsg = _sd.GetUserPrompt("welcome"); lvm.disclaimerMsg = _sd.GetUserPrompt("disclaimer"); lvm.staticDataVersionMsg = _sd.GetStaticDataVersion(); lvm.browserAgent = _bd.BrowserAgent; lvm.fileLoadLabelText = _sd.GetUserPrompt("FileLoadQuestion"); lvm.ExplainFileLoad = _sd.GetUserPrompt("ExplainFileLoad"); lvm.DeviceTooSmallMessage = _sd.GetUserPrompt("DeviceTooSmallMessage"); if (_bd.OSValid) { if (_bd.BrowserValid) { if (_bd.BrowserOutofdate) { lvm.browserMsg = string.Format(_sd.GetUserPrompt("browseroutofdate"), _bd.BrowserUpdate); } } else { lvm.browserMsg = _sd.GetUserPrompt("unknownbrowser"); } } else { lvm.browserMsg = _sd.GetUserPrompt("invaliddevice"); } ViewBag.Title = "NMP"; //LoadStatic(); lvm.newMsg = _sd.GetUserPrompt("launchNew"); lvm.loadMsg = _sd.GetUserPrompt("launchLoad"); lvm.pageMsg1 = _sd.GetUserPrompt("launchMsg1"); lvm.pageMsg2 = _sd.GetUserPrompt("launchMsg2"); return(View(lvm)); }
public Field GetFieldDetails(string fieldName) { Field fld = new Field(); FarmData userData = _ctx.HttpContext.Session.GetObjectFromJson <FarmData>("FarmData"); YearData yd = userData.years.FirstOrDefault(y => y.year == userData.farmDetails.year); if (yd.fields == null) { yd.fields = new List <Field>(); } fld = yd.fields.FirstOrDefault(y => y.fieldName == fieldName); return(fld); }
public void DeleteFieldCrop(string fldName, int id) { FarmData userData = _ctx.HttpContext.Session.GetObjectFromJson <FarmData>("FarmData"); userData.unsaved = true; YearData yd = userData.years.FirstOrDefault(y => y.year == userData.farmDetails.year); Field fld = yd.fields.FirstOrDefault(f => f.fieldName == fldName); FieldCrop crp = fld.crops.FirstOrDefault(m => m.id == id); fld.crops.Remove(crp); if (fld.crops.Count() == 0) { fld.crops = null; } _ctx.HttpContext.Session.SetObjectAsJson("FarmData", userData); }