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;
}
}