Пример #1
0
    public void RemoveObj(GameObject g)
    {
        grass.Remove(g);
        if (grass.Count == 0)
        {
            Cleared();
        }

        AreaDisplay.UpdateText();
    }
Пример #2
0
    public void GenerateOSMObjects(MapGenerator mapGenerator, string mapName)
    {
        mapData      = mapGenerator.mapData;
        trailDisplay = this.GetComponent <TrailDisplay> ();
        poiDisplay   = this.GetComponent <POIDisplay> ();
        iconHandler  = this.GetComponent <IconHandler>();
        areaDisplay  = this.GetComponent <AreaDisplay>();
        OSMData osmData = DataImporter.GetOSMData(mapName);

        trailDisplay.mapData = mapData;
        poiDisplay.mapData   = mapData;

        iconHandler.generateIconDictionary();
        GenerateTrails(osmData);
        GeneratePoiNodes(osmData);
        GenerateAreas(osmData);
        GenerateRivers(osmData);
        areaDisplay.displayAreas();
    }
Пример #3
0
    public static ColorMap ColorMapForHeightAndAreas(MapData mapData, int lod = 0)
    {
        lod = lod == 0 ? 1 : lod * 2;
        int          width  = mapData.GetWidth();
        int          height = mapData.GetHeight();
        MapDataSlice slice  = mapData.AsSlice();

        Color[] colorArray = new Color[width * height];
        if (areaDisplay == null)
        {
            areaDisplay = GameObject.FindObjectOfType <AreaDisplay>();
        }

        for (int y = 0; y < height; y += lod)
        {
            for (int x = 0; x < width; x += lod)
            {
                float currentHeight = mapData.GetSquished(x, y);
                float scaledPosX    = (slice.GetX() + x);
                float scaledPosY    = (slice.GetY() + y);
                Color areaColor     = areaDisplay.GetPointColor(scaledPosX, scaledPosY);
                Color regionColor   = GetRegionColour(currentHeight);

                if (areaColor != Color.clear)
                {
                    regionColor = Color.Lerp(areaColor, regionColor, colorLerpValue);
                }

                for (int actualY = y; actualY < y + lod && actualY < height; actualY++)
                {
                    for (int actualX = x; actualX < x + lod && actualX < width; actualX++)
                    {
                        colorArray[actualY * width + actualX] = regionColor;
                    }
                }
            }
        }
        return(new ColorMap(colorArray, width, height));
    }
Пример #4
0
 void AddSelf()
 {
     contained = true;
     AreaDisplay.AddArea(this);
 }
Пример #5
0
 void RemoveSelf()
 {
     contained = false;
     AreaDisplay.RemoveArea(this);
 }
Пример #6
0
 public void AddObj(GameObject g)
 {
     grass.Add(g);
     AreaDisplay.UpdateText();
 }
Пример #7
0
    public void Setup()
    {
        GameObject areaDisplayObject = new GameObject();

        display = areaDisplayObject.AddComponent <AreaDisplay> ();
    }