public void GoalTouched(AgentMiniSoccer.Team scoredTeam) { foreach (var ps in playerStates) { if (ps.agentScript.team == scoredTeam) { RewardPlayer(ps, m_Academy.strikerReward, m_Academy.goalieReward); } else { RewardPlayer(ps, m_Academy.strikerPunish, m_Academy.goaliePunish); } if (scoredTeam == AgentMiniSoccer.Team.Purple) { StartCoroutine(GoalScoredSwapGroundMaterial(m_Academy.purpleMaterial, 1)); } else { StartCoroutine(GoalScoredSwapGroundMaterial(m_Academy.blueMaterial, 1)); } ps.agentScript.Done(); } }
public Vector3 GetRandomSpawnPos(AgentMiniSoccer.AgentRole role, AgentMiniSoccer.Team team) { var xOffset = 0f; if (role == AgentMiniSoccer.AgentRole.Goalie) { xOffset = 13f; } if (role == AgentMiniSoccer.AgentRole.Striker) { xOffset = 7f; } if (team == AgentMiniSoccer.Team.Blue) { xOffset = xOffset * -1f; } var randomSpawnPos = ground.transform.position + new Vector3(xOffset, 0f, 0f) + (Random.insideUnitSphere * 2); randomSpawnPos.y = ground.transform.position.y + 2; return(randomSpawnPos); }