using System.Collections; using System.Collections.Generic; using UnityEngine; public class DrawLine : MonoBehaviour { public int zoom; bool IsDrawing;//to test if it finishes bool IsDrawingInit;//test when zoom changes,if there are still lines private int tempZoom; private void Start() { IsDrawing = true; IsDrawingInit = true; tempZoom = this.zoom; } void Update() { zoom = OnlineMaps.instance.zoom; ZoomTest(); if(IsDrawing) { if (!IsDrawingInit) { GameObject.Destroy(GameObject.Find("Drawings")); IsDrawingInit = true; } else if (zoom < 6) { Draw(12); } else if (zoom < 9 && zoom >= 6) { Draw(4); } else if(zoom < 11 && zoom >=9) { Draw(1); } else if(zoom <16 && zoom >= 11) { Draw(0.5f); } else { Draw(0.1f); } } } /// /// 绘制经纬线 /// /// 经纬线间隔 void Draw(float plus) { OnlineMapsDrawingLine _line; for (float i = -180; i <= 180; i = i + plus) { List line_1 = new List { new Vector2(-180,i/2), new Vector2(-90,i/2), new Vector2(0,i/2), new Vector2(90,i/2), new Vector2(180,i/2) }; _line = new OnlineMapsDrawingLine(line_1, Color.white, 0.5f); OnlineMaps.instance.AddDrawingElement(_line); List line_2 = new List { new Vector2(i,-90), new Vector2(i,-45), new Vector2(i,0), new Vector2(i,45), new Vector2(i,90) }; _line = new OnlineMapsDrawingLine(line_2, Color.white, 0.5f); OnlineMaps.instance.AddDrawingElement(_line); if (i == 180) { IsDrawing = false; IsDrawingInit = false; } } } void ZoomTest() { if((tempZoom != zoom)&&(zoom==6 || zoom == 9 || zoom == 11 || zoom == 16)) { IsDrawing = true; } tempZoom = zoom; } }