private void btnControl_Click(object sender, EventArgs e) { if (_rec_state == RecStates.IDLE) { // Check that endpoints type selected if (!ctrlRouteDetails.CheckEndpoints()) { return; } // Ask for reset if table has data and last row not selected // If last row selected than keep appending data bool ask_reset = (dgWaypoints.RowCount > 1) && (dgWaypoints.Rows[dgWaypoints.RowCount - 1].Selected == false); if (!((AbstractListEndpoint)ctrlRouteDetails.cbTypeA.SelectedItem).Check || (!(CheckInGame() && (!ask_reset || ResetRoute())))) { return; } #if DEBUG if (ProcessManager.Player != null) { #endif if (ProcessManager.Player.StateMachine.IsRunning) { ShowErrorMessage("Bot is running. Stop it first before recording"); return; } // Set from zone ProcessManager.Player.SetCurrentMapInfo(); ctrlRouteDetails.tbZoneA.Text = ProcessManager.Player.ZoneText; // Load RouteRecordingState and start _route_rec_state = new RouteRecordingState(RecordWp, numRecDistance.Value, ((AbstractListEndpoint)ctrlRouteDetails. cbTypeA.SelectedItem).EType == EndpointTypes.GRAVEYARD); ProcessManager.Player.StateMachine. InitState = new TestGlobalState(_route_rec_state); #if DEBUG } else { ctrlRouteDetails.tbZoneA.Text = "Teldrassil"; } #endif btnControl.Text = "Stop"; btnReset.Text = "Suspend"; // Last call SetControls(RecStates.RECORDING); } else { // Stop recording // First call SetControls(RecStates.IDLE); #if DEBUG ctrlRouteDetails.tbZoneB.Text = "Teldrassil"; if (ProcessManager.Player != null) { #endif // Put state machine back in idle status _route_rec_state.Exit(ProcessManager.Player); ProcessManager.Player.StateMachine.IsRunning = false; ProcessManager.Player.SetCurrentMapInfo(); ctrlRouteDetails.tbZoneB.Text = ProcessManager.Player.ZoneText; #if DEBUG } #endif btnControl.Text = "Start"; btnReset.Text = "Reset"; } }
private void btnControl_Click(object sender, EventArgs e) { if (_rec_state == RecStates.IDLE) { // Check that endpoints type selected if (!ctrlRouteDetails.CheckEndpoints()) return; // Ask for reset if table has data and last row not selected // If last row selected than keep appending data bool ask_reset = (dgWaypoints.RowCount > 1) && (dgWaypoints.Rows[dgWaypoints.RowCount - 1].Selected == false); if (!((AbstractListEndpoint)ctrlRouteDetails.cbTypeA.SelectedItem).Check || (!(CheckInGame() && (!ask_reset || ResetRoute())))) return; #if DEBUG if (ProcessManager.Player != null) { #endif if (ProcessManager.Player.StateMachine.IsRunning) { ShowErrorMessage("Bot is running. Stop it first before recording"); return; } // Set from zone ProcessManager.Player.SetCurrentMapInfo(); ctrlRouteDetails.tbZoneA.Text = ProcessManager.Player.ZoneText; // Load RouteRecordingState and start _route_rec_state = new RouteRecordingState(RecordWp, numRecDistance.Value, ((AbstractListEndpoint)ctrlRouteDetails. cbTypeA.SelectedItem).EType == EndpointTypes.GRAVEYARD); ProcessManager.Player.StateMachine. InitState = new TestGlobalState(_route_rec_state); #if DEBUG } else ctrlRouteDetails.tbZoneA.Text = "Teldrassil"; #endif btnControl.Text = "Stop"; btnReset.Text = "Suspend"; // Last call SetControls(RecStates.RECORDING); } else { // Stop recording // First call SetControls(RecStates.IDLE); #if DEBUG ctrlRouteDetails.tbZoneB.Text = "Teldrassil"; if (ProcessManager.Player != null) { #endif // Put state machine back in idle status _route_rec_state.Exit(ProcessManager.Player); ProcessManager.Player.StateMachine.IsRunning = false; ProcessManager.Player.SetCurrentMapInfo(); ctrlRouteDetails.tbZoneB.Text = ProcessManager.Player.ZoneText; #if DEBUG } #endif btnControl.Text = "Start"; btnReset.Text = "Reset"; } }