How to reset player positions after a goal
So I'm making a 2D football game in which random balls bounce around the field with no goal in mind whiles the ball does the same. My problem is that I've figured out how to reset the football position after scoring by attaching it to an gameobject called BallPosition but I don't know how to go about making it so the player positions also reset to their original locations after a goal is scored.
--Expected outcome -- 1. Ball enters goal trigger 2. Goal is added to the scoreboard 3. Ball position resets 4. Player position resets
--Actual outcome-- 1. Ball enters goal trigger 2 . Goal is added to the scoreboard 3. Ball position resets 4. Players carry on what they were already doing
I would like it to be so that if the ball enters the goal the players also reset to their starting positions. Any help or guidance would be great thank you.
Here's my ball manager script:
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;
public class BallManager : MonoBehaviour { public int homeScore; public int awayScore;
public void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.tag == "HomeGoal")
{
Debug.Log("GOOOAAAAL");
this.gameObject.transform.position = GameObject.Find("BallPosition").transform.position;
this.gameObject.GetComponent<Rigidbody2D>().velocity = Vector3.zero;
homeScore += 1;
}
if (other.gameObject.tag == "AwayGoal")
{
Debug.Log("GOOOAAAAL");
this.gameObject.transform.position = GameObject.Find("BallPosition").transform.position;
this.gameObject.GetComponent<Rigidbody2D>().velocity = Vector3.zero;
awayScore += 1;
}
}
public void Update()
{
GameObject.Find("Score1").GetComponent<Text>().text = homeScore + "";
GameObject.Find("Score2").GetComponent<Text>().text = AwayScore + "";
}
}
Your answer
Follow this Question
Related Questions
Calling Input from another script 3 Answers
2D game score 1 Answer
Multiple objects being triggered 0 Answers
How to reset player position when a ball hits the goal box? 0 Answers