示例#1
0
    /**
     * 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);
    }