// If deciding to toggle, call magnet scripts toggle functionality. void FixedUpdate() { // Get current state currentState = QState.getQState(magnet, opponents); // Don't continue after magnet is done. if (magnetScript.getCharge() != 0) { // Update Q value if (lastState != null) { updateQValue(); } // Choose an action bool action = choseAction(); // Toggle if needed if (action) { magnetScript.makeMove(); } // Update memory lastState = currentState; lastAction = action; lastPosition = magnet.GetComponent <Magnet>().getPosition(); } }