예제 #1
0
    public void RewardPlayer(MiniSoccerPlayerState ps, float striker, float goalie)
    {
        switch (ps.agentScript.agentRole)
        {
        case AgentMiniSoccer.AgentRole.Striker:
            ps.agentScript.AddReward(striker);
            break;

        case AgentMiniSoccer.AgentRole.Goalie:
            ps.agentScript.AddReward(goalie);
            break;
        }
    }
예제 #2
0
    public override void InitializeAgent()
    {
        base.InitializeAgent();

        m_AgentRenderer = GetComponentInChildren <Renderer>();
        // m_RayPerception = GetComponent<RayPerception>();
        m_Academy      = FindObjectOfType <MiniSoccerAcademy>();
        agentRigitBody = GetComponent <Rigidbody>();
        agentRigitBody.maxAngularVelocity = 500;

        var playerState = new MiniSoccerPlayerState
        {
            agentRb     = agentRigitBody,
            startingPos = transform.position,
            agentScript = this,
        };

        area.playerStates.Add(playerState);
        m_PlayerIndex           = area.playerStates.IndexOf(playerState);
        playerState.playerIndex = m_PlayerIndex;
    }