protected void randomInput() { if (sinceLastDecision > decisionCadence) { bool positionChange = Random.Range(0.0f, 1.0f) < stateChangeProbability; if (positionChange) { inputBroker.clearInputs(); float randomAxis = Random.Range(0.0f, 1.0f); if (randomAxis < axisProbability) // left { verticalPressDuration = 0.0f; if (!inputBroker.HorizontalPressed()) { inputBroker.setHorizontal(-1.0f); } else { inputBroker.setHorizontal(0.0f); } } else if (randomAxis < (2 * axisProbability)) // right { verticalPressDuration = 0.0f; if (!inputBroker.HorizontalPressed()) { inputBroker.setHorizontal(1.0f); } else { inputBroker.setHorizontal(0.0f); } } else // down { horizontalPressDuration = 0.0f; if (!inputBroker.VerticalPressed()) { inputBroker.setVertical(-1.0f); } else { inputBroker.setVertical(0.0f); } } } sinceLastDecision = 0.0f; } if (horizontalPressDuration > maxPressDuration) { inputBroker.setHorizontal(0.0f); sinceLastDecision = 0.0f; } if (verticalPressDuration > maxPressDuration) { inputBroker.setVertical(0.0f); sinceLastDecision = 0.0f; } }