public override void AgentAction(float[] vectorAction, string textAction) { if (dataCollection) { positionDrawer.DrawPositions(addNoise, randomQuarter, randomPosition); } else { engine.Move(vectorAction[0], vectorAction[1], vectorAction[2], vectorAction[3]); } pos = GetPosition(); angle = GetAngle(); float reward = CalculateReward(); SetReward(reward); if (engine.isAboveSurface()) { result = 1; Done(); } else if (missed) { result = 2; Done(); } else if (success) { result = 3; Done(); } }