示例#1
0
    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);
    }
示例#2
0
    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);
            }
        }
    }