using UnityEngine; using Random = System.Random; public class TestIndividualMarkerScale:MonoBehaviour { public int countMarkers = 10; public float minScale = 0.1f; public float maxScale = 10f; public float minScale3D = 0.1f; public float maxScale3D = 10f; private bool is3DControl; private void Start() { double tx, ty, bx, by; OnlineMaps api = OnlineMaps.instance; api.GetTopLeftPosition(out tx, out ty); api.GetBottomRightPosition(out bx, out by); double sx = bx - tx; double sy = ty - by; double scaleRange = maxScale - minScale; double scaleRange3D = maxScale3D - minScale3D; Random random = new Random(); is3DControl = OnlineMapsControlBase3D.instance != null; for (int i = 0; i < countMarkers; i++) { double mx, my; mx = random.NextDouble() * sx + tx; my = random.NextDouble() * sy + by; OnlineMapsMarker marker = api.AddMarker(mx, my, null, "Marker" + i); marker.scale = (float)(random.NextDouble() * scaleRange + minScale); if (is3DControl) { mx = random.NextDouble() * sx + tx; my = random.NextDouble() * sy + by; OnlineMapsMarker3D marker3D = OnlineMapsTileSetControl.instance.AddMarker3D(mx, my, null); marker3D.label = "Marker3D" + i; marker3D.scale = (float)(random.NextDouble() * scaleRange3D + minScale3D); } } } private void OnGUI() { if (!GUI.Button(new Rect(5, 5, 100, 30), "Random")) return; double scaleRange = maxScale - minScale; double scaleRange3D = maxScale3D - minScale3D; Random random = new Random(); for (int i = 0; i < countMarkers; i++) { OnlineMaps.instance.markers[i].scale = (float)(random.NextDouble() * scaleRange + minScale); if (is3DControl) OnlineMapsTileSetControl.instance.markers3D[i].scale = (float)(random.NextDouble() * scaleRange3D + minScale3D); } OnlineMaps.instance.Redraw(); } }