Exemplo n.º 1
0
    void Start()
    {
        GameObject environment = gameObject.transform.parent.gameObject;

        ballRgd  = ball.GetComponent <Rigidbody>();
        passing  = transform.Find("Passing").GetComponent <PlayingPassNN>();
        shooting = transform.Find("Shooting").GetComponent <PlayingShotNN>();
    }
    public override void Initialize()//reset vals
    {
        existential = 1.0f / MaxStep;
        timePenalty = 0;

        behaviorParameters = GetComponent <BehaviorParameters>();
        passing            = transform.Find("Passing").GetComponent <PlayingPassNN>();
        shooting           = transform.Find("Shooting").GetComponent <PlayingShotNN>();
        basket             = shooting.basket;
        ballRgd            = ball.GetComponent <Rigidbody>();
        agentRb            = GetComponent <Rigidbody>();

        if (behaviorParameters.TeamId == (int)Team.Blue)//assign a team
        {
            team        = Team.Blue;
            startingLoc = new Vector3(transform.localPosition.x + 4f, 1f, transform.localPosition.z);
        }
        else
        {
            team        = Team.Red;
            startingLoc = new Vector3(transform.localPosition.x - 4f, 1f, transform.localPosition.z);
        }
        transform.localPosition = startingLoc;
        agentRb.velocity        = Vector3.zero;
        agentRb.angularVelocity = Vector3.zero;
        jumpHeight = lowJumpHeight;
        agentRb.maxAngularVelocity = 500;

        var playerConfig = new gameController.PlayerConfig
        {
            agentRb     = agentRb,
            startingPos = transform.localPosition,
            agentScript = this,
        };

        gc.playerConfigs.Add(playerConfig); //add self to gc players list
        resetParams = Academy.Instance.EnvironmentParameters;
    }