/** * This function returns the current EnvState object. */ public static EnvState GetEnvState(string extraInfo = "NULL") { int humanScore = m_sessionScript.LeftScore; int agentScore = m_sessionScript.RightScore; Position3D ballOrientation = Position3D.Vector3ToPosition3D(m_ballScript.transform.eulerAngles); Position2D humanPos = Position2D.Vector2ToPosition2D(GeneralUtils.GetHumanPosition()); Position2D agentPos = Position2D.Vector2ToPosition2D(GeneralUtils.GetAgentPosition()); Position2D ballPos = Position2D.Vector2ToPosition2D(BallUtils.GetBallPosition()); float leftPaddleLen = m_humanScript.transform.localScale.y; float rightPaddleLen = m_agentScript.transform.localScale.y; float leftPaddleWidth = m_humanScript.transform.localScale.x; float rightPaddleWidth = m_agentScript.transform.localScale.x; Match currMatch = m_sessionScript.currMatch; int sessionState = m_sessionScript.sessionAuto.CurrState; EnvState envState = new EnvState(humanScore, agentScore, ballOrientation, ballPos, agentPos, humanPos, leftPaddleLen, rightPaddleLen, leftPaddleWidth, rightPaddleWidth, sessionState, currMatch, extraInfo); return(envState); }