void Update() { if (_CurrentState == MeshDrawerState.Nothing) { return; } ; _CurrentMousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition); if (Input.GetMouseButtonDown(0)) { var currentContour = _CurrentState == MeshDrawerState.DrawContour ? _Contour : _CurrentHole; if (currentContour.Count > 1 && Vector2.Distance(currentContour[0], _CurrentMousePosition) < _ContourLockRadius) { if (_CurrentState == MeshDrawerState.DrawHole) { _Holes.Add(_CurrentHole); _CurrentHole = null; } _CurrentState = MeshDrawerState.Nothing; } else { currentContour.Add(_CurrentMousePosition); } } }
public void StartDrawHole() { if (_CurrentState != MeshDrawerState.Nothing) { return; } _CurrentState = MeshDrawerState.DrawHole; _CurrentHole = new List <Vector2>(); }
public void StartDrawContour() { if (_CurrentState != MeshDrawerState.Nothing) { return; } Clear(); _CurrentState = MeshDrawerState.DrawContour; }
void Update() { if (_CurrentState == MeshDrawerState.Nothing) { return; } _CurrentMousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition); if (Input.GetMouseButtonDown(0)) { var currentContour = _Contour; if (currentContour.Count > 1 && Vector2.Distance(currentContour[0], _CurrentMousePosition) < _ContourLockRadius) { _CurrentState = MeshDrawerState.Nothing; } else { currentContour.Add(_CurrentMousePosition); print(string.Format("CurrenContour = {0}", currentContour.Count)); } } }