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; } }
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; }