/// <summary> /// Handle a click event on the terrain. /// </summary> /// <param name="sender">Not used.</param> /// <param name="args">The terrain click arguments.</param> private void Clicked(object sender, TerrainClickedArgs args) { if (args.Button == MouseButton.Left) { Transition(GameState.EditingTerrain, args); } if (Application.isEditor) { GameLogger.Info("Selected ({0}); Point Heights ({1}, {2}, {3}, {4})", args.ClickLocation, _terrain.GetVertexHeight(args.ClickLocation.x, args.ClickLocation.z), _terrain.GetVertexHeight(args.ClickLocation.x + 1, args.ClickLocation.z), _terrain.GetVertexHeight(args.ClickLocation.x, args.ClickLocation.z + 1), _terrain.GetVertexHeight(args.ClickLocation.x + 1, args.ClickLocation.z + 1)); if (Input.GetKey(KeyCode.LeftControl)) { int submaterial = _terrain.GetSubmaterial(args.ClickLocation.x, args.ClickLocation.z); _terrain.SetSubmaterial(args.ClickLocation.x, args.ClickLocation.z, (submaterial + 1) % _terrain.SubmaterialCount, Rotation.deg270); } } }