Beispiel #1
0
 private void UpdateAreaInspectionHeader(int option)
 {
     if (option.Equals(AreaPS.SelectedArea))
     {
         areaPSUIRef.SelectedHeader("Inspection Area", currAreaInspectionIndex);
     }
     else if (option.Equals(AreaPS.AllAreasCombined))
     {
         areaPSUIRef.inspectionHeader.text = translator.Get("All Areas Combined");
     }
     else
     {
         areaPSUIRef.inspectionHeader.text = translator.Get("All Areas Compared");
     }
 }
 private void UpdateLineInspectionHeader(int option)
 {
     if (option.Equals(LinePS.SelectedLine))
     {
         linePSUIRef.SelectedHeader("Inspection Line", currLineInspectionIndex);
     }
     else if (option.Equals(LinePS.AllLinesCombined))
     {
         linePSUIRef.inspectionHeader.text = translator.Get("All Lines Combined");
     }
     else
     {
         linePSUIRef.inspectionHeader.text = translator.Get("All Lines Compared");
     }
 }
Beispiel #3
0
    //
    // Private Methods
    //

    private float UpdatedAreaVal()
    {
        float updatedArea = (float)(area * planningOutput.SelectedUnit.factor);

        if (updatedArea > 1e+12)
        {
            updatedArea *= 1e-12f;
            suffix       = translator.Get("trillion");
        }
        else if (updatedArea > 1e+9)
        {
            updatedArea *= 1e-9f;
            suffix       = translator.Get("billion");
        }
        else if (updatedArea > 1e+6)
        {
            updatedArea *= 1e-6f;
            suffix       = translator.Get("million");
        }

        return(updatedArea);
    }
Beispiel #4
0
    //
    // Public Methods
    //

    public void Init()
    {
        UpdateAttributesHeader();

        unitsDropdown.ClearOptions();
        if (units.Length > 0)
        {
            foreach (var unit in units)
            {
                unitsDropdown.options.Add(new Dropdown.OptionData(translator.Get(unit.name) + " (" + unit.symbol + ")"));
            }
            selectedUnit = units[0];
        }
    }
Beispiel #5
0
    private void UpdateInspectionHeader(int option)
    {
        switch (option)
        {
        case SelectedLine:
        default:
            SelectedLineHeader();
            break;

        case AllLinesCombined:
            inspectionHeader.text = translator.Get("All Lines Combined");
            break;

        case AllLinesCompared:
            inspectionHeader.text = translator.Get("All Lines Compared");
            break;
        }
    }
Beispiel #6
0
 public void SelectedHeader(string val, int index)
 {
     inspectionHeader.text = translator.Get(val) + " " + (index + 1);
 }
Beispiel #7
0
    //
    // Event Methods
    //

    private void OnLayerNameEndEdit(string text)
    {
        var newName = text.Trim();

        if (newName.Equals(properties.name.Value))
        {
            return;
        }

        if (LayerNameExists(newName))
        {
            dialogManager.Warn(translator.Get("A layer already exists with this name") + ":\n\n" + newName);
            layerNameInput.text = properties.name;
            return;
        }

        var question =
            translator.Get("Changing this layer's name will affect all sites") +
            "\n\n" +
            translator.Get("Do you want to continue?");

        Ask(question, properties.name, () => SetLayerName(newName), RevertLayerName);
    }
Beispiel #8
0
 public static string Get(string text, bool addIfMissing = true) => translator.Get(text, addIfMissing);
Beispiel #9
0
    public void ShowData(DataLayer dataLayer, RectTransform rt)
    {
        if (delayedHideCoroutine != null)
        {
            StopCoroutine(delayedHideCoroutine);
            delayedHideCoroutine = null;
        }

        transform.position = rt.position;

        currentRow = 0;

        bool allPatchesHaveSameValue = true;

        var patchCount = dataLayer.loadedPatchesInView.Count;

        if (patchCount == 0)
        {
            Add(translator.Get("No Info"), "");
        }
        else
        {
            var firstPatch     = dataLayer.loadedPatchesInView[0];
            var firstPatchData = firstPatch.Data;

            // Size
            double north = firstPatchData.north;
            double south = firstPatchData.south;
            double east  = firstPatchData.east;
            double west  = firstPatchData.west;
            for (int i = 1; i < patchCount; i++)
            {
                var data = dataLayer.loadedPatchesInView[i].Data;
                north = Math.Max(north, data.north);
                south = Math.Min(south, data.south);
                east  = Math.Max(east, data.east);
                west  = Math.Min(west, data.west);
            }
            Add(translator.Get("Extents"), "N  " + north.ToString("0.0000") +
                "\nS  " + south.ToString("0.0000") +
                "\nE  " + east.ToString("0.0000") +
                "\nW  " + west.ToString("0.0000"));

            var size = GeoCalculator.LonLatToMeters(east, north) - GeoCalculator.LonLatToMeters(west, south);
            var unit = "m";
            if (size.x >= 1000 && size.y >= 1000)
            {
                size *= 0.001;
                unit  = "km";
            }
            Add(translator.Get("Size"), size.x.ToString("0.#") + " x " + size.y.ToString("0.#") + " " + unit);

            if (firstPatchData is GridData)
            {
                var firstGridData = firstPatchData as GridData;

                // Resolution
                allPatchesHaveSameValue = true;
                var cellWidth = firstGridData.GetCellWidth();
                for (int i = 1; i < patchCount; i++)
                {
                    var otherCellWidth = (dataLayer.loadedPatchesInView[i].Data as GridData).GetCellWidth();
                    if (Math.Abs(otherCellWidth - cellWidth) > 0.000001f)
                    {
                        allPatchesHaveSameValue = false;
                        break;
                    }
                }
                if (allPatchesHaveSameValue)
                {
                    var resolution = (float)(GeoCalculator.Deg2Meters * cellWidth);
                    unit = "m";
                    if (resolution > 1000)
                    {
                        unit        = "km";
                        resolution *= 0.001f;
                    }

                    int number = Mathf.RoundToInt(resolution);
                    Add(translator.Get("Resolution"), number + " x " + number + " " + unit);
                }
                else
                {
                    AddMultiValue(translator.Get("Resolution"));
                }

                // Units
                if (!firstGridData.IsCategorized)
                {
                    allPatchesHaveSameValue = true;
                    var units = firstGridData.units;
                    for (int i = 1; i < patchCount; i++)
                    {
                        var otherUnits = (dataLayer.loadedPatchesInView[i].Data as GridData).units;
                        if (otherUnits != units)
                        {
                            allPatchesHaveSameValue = false;
                            break;
                        }
                    }
                    if (allPatchesHaveSameValue)
                    {
                        Add(translator.Get("Units"), units);
                    }
                    else
                    {
                        AddMultiValue(translator.Get("Units"));
                    }
                }
            }

            // Year
            allPatchesHaveSameValue = true;
            var year = firstPatch.Year;
            for (int i = 1; i < patchCount; i++)
            {
                var otherYear = dataLayer.loadedPatchesInView[i].Year;
                if (otherYear != year)
                {
                    allPatchesHaveSameValue = false;
                    break;
                }
            }
            if (allPatchesHaveSameValue)
            {
                Add(translator.Get("Year"), year.ToString());
            }
            else
            {
                AddMultiValue(translator.Get("Year"));
            }

            // Records
            HashSet <int> years = new HashSet <int>();
            foreach (var patch in dataLayer.loadedPatchesInView)
            {
                foreach (var recordYear in patch.SiteRecord.layerSite.records.Keys)
                {
                    if (!years.Contains(recordYear))
                    {
                        years.Add(recordYear);
                    }
                }
            }
            if (years.Count > 1)
            {
                List <int> sortedYears = new List <int>(years);
                sortedYears.Sort();

                var records = "";
                foreach (var recordYear in sortedYears)
                {
                    records += recordYear + ", ";
                }
                Add(translator.Get("Records"), records.Remove(records.Length - 2));
            }

            string citationStr = null;

            // Add metadata
            if (firstPatchData.metadata != null)
            {
                foreach (var row in firstPatchData.metadata)
                {
                    allPatchesHaveSameValue = true;
                    var value = row.Value;
                    for (int i = 1; i < patchCount; i++)
                    {
                        var otherValue = dataLayer.loadedPatchesInView[i].Data.metadata.Get(row.Key);
                        if (!otherValue.Equals(value))
                        {
                            allPatchesHaveSameValue = false;
                            break;
                        }
                    }

                    if (row.Key != "Citation" && row.Key != "MandatoryCitation")
                    {
                        if (allPatchesHaveSameValue)
                        {
                            Add(translator.Get(row.Key, false), row.Value);
                        }
                        else
                        {
                            AddMultiValue(translator.Get(row.Key, false));
                        }
                    }

                    // Source/Citation
                    if (row.Key == "Source" && citationStr == null)
                    {
                        if (allPatchesHaveSameValue)
                        {
                            if (citationsManager.TryGet(firstPatch, out Citation citation))
                            {
                                citationStr = citation.text;
                            }
                        }
                        else
                        {
                            AddMultiValue(translator.Get("Citation"));
                        }
                    }
                    else if (row.Key == "Citation")
                    {
                        if (allPatchesHaveSameValue)
                        {
                            citationStr = value;
                        }
                        else
                        {
                            citationStr = AddAllValues(dataLayer, row.Key, value);
                        }
                    }
                    else if (row.Key == "MandatoryCitation" && citationStr == null)
                    {
                        if (allPatchesHaveSameValue)
                        {
                            citationStr = value;
                        }
                        else
                        {
                            citationStr = AddAllValues(dataLayer, row.Key, value);
                        }
                    }
                }
            }

            if (!string.IsNullOrWhiteSpace(citationStr))
            {
                Add(translator.Get("Citation"), citationStr);
            }
        }

        // DO NOT DELETE OR CHANGE THIS COMMENT BLOCK
        // The following lines will force the LocalizationManager to export the quoted text:
        // "Source"/*translatable*/
        // "Layer Name"/*translatable*/

        // Hide remaining rows
        for (int i = infoRows.Count - 1; i >= currentRow; i--)
        {
            infoRows[i].key.gameObject.SetActive(false);
            infoRows[i].value.gameObject.SetActive(false);
            infoRows[i].key.text = infoRows[i].value.text = "";
        }

        neck.gameObject.SetActive(true);
        panel.gameObject.SetActive(true);

        // Hide previous anchor image
        if (anchor != null)
        {
            SetImageTransparency(anchor, 0);
        }

        // Show new anchor image
        anchor = rt.GetComponent <Image>();
        if (anchor != null)
        {
            SetImageTransparency(anchor, 1);
        }

        panelHeight = panel.rect.height;
        AdjustPanel();
    }
Beispiel #10
0
    public bool UpdateBackend()
    {
        try
        {
            updateMainUI = true;

            Debug.Log("Updating layer config");
            dataManager.UpdateLayerConfig();
            return(true);
        }
        catch (IOException)
        {
            dialogManager.Warn(translator.Get("Make sure you don't have layers.csv open in Excel or another program"), translator.Get("Couldn't save changes"));
        }
        return(false);
    }