public void AddGroup(string name, ContoursMapLayer layer, bool updatable, bool selectable) { // Hide "no data layers" message outputMessage.SetActive(false); // Check if group is already in output ContoursGroup contoursGroup; if (!contoursGroups.TryGetValue(name, out contoursGroup)) { OutputGroup outputGroup = Instantiate(outputGroubPrefab, outputContainer, false); outputGroup.Init(name); contoursGroup = new ContoursGroup(); contoursGroup.group = outputGroup; contoursGroup.layer = layer; contoursGroup.updatable = updatable; contoursGroup.selectable = selectable; contoursGroups.Add(name, contoursGroup); } UpdateGroup(name); }
private void UpdateGridValues(ContoursGroup contoursGroup) { // Delete all items to create actual new items based on grid contoursGroup.group.DeleteAllItems(); int cellCount = contoursGroup.layer.GetContoursCount(contoursGroup.selectable); // Always create this item with area float hectars = cellCount * contoursGroup.layer.GetContoursSquareMeters() * 0.0001f; // convert m2 to hectars contoursGroup.group.UpdateItem("Area in Ha", hectars); // Create average items for each layer float cellDivider = 1f / cellCount; foreach (var grid in contoursGroup.layer.grids) { if (!grid.IsCategorized) // Add average only if is not categorized { float gridValue = contoursGroup.layer.GetGridContouredData(grid, contoursGroup.selectable); contoursGroup.group.UpdateItem(grid.patch.dataLayer.name + " - Avg " + grid.units, gridValue * cellDivider); } } }