private void Update() { if (GroundModificationMode) { DoEasing(); GridExpander expander = new GridExpander(gameMain.MainGrid, ExpansionAngleThreshold); expander.PreviewExpansion(gameMain.MainGrid); if (Input.GetMouseButtonUp(0)) { gameMain.MainGrid.AddToMesh(expander.Points, expander.Edges); gameMain.UpdateInteractionGrid(); } } else { MeshHitTarget potentialMeshInteraction = GetPotentialMeshInteraction(); UpdateCursor(potentialMeshInteraction); HandleRightMeshClicks(potentialMeshInteraction); HandleLeftMeshClicks(potentialMeshInteraction); } UpdateCursorHighlight(); HandleOrbit(); HandlePan(); cameraInteraction.HandleMouseScrollwheel(); }
private void AddExpander(CustomGridControl grid) { var ctx = (IMassInputListViewModel)grid.DataContext; if (ctx == null) { return; } GridExpander expander; if (_gridExpanders.TryGetValue(grid, out expander)) { expander.StopObserving(); _gridExpanders.Remove(grid); } expander = new GridExpander(grid, ctx); _gridExpanders[grid] = expander; expander.StartObserving(); }