Files
soccar2d/Assets/Scripts/Goal.cs
T

56 lines
1.6 KiB
C#

using Mirror;
using UnityEngine;
public class Goal : NetworkBehaviour
{
public Team team;
public static Goal RedGoal,BlueGoal;
void Awake()
{
if(team == Team.Red){
RedGoal = this;
}else{
BlueGoal = this;
}
}
void OnTriggerEnter2D(Collider2D collision)
{
if(!isServer){return;}
if(GameManager.instance != null && GameManager.instance.AreResetCollisionsDisabled)
return;
if(collision.gameObject.CompareTag("Player")){
if(GameManager.instance == null || !GameManager.instance.CanProcessGoal){
return;
}
Debug.Log($"GOAL! {team}", gameObject);
Ball ball = collision.gameObject.GetComponent<Ball>();
Debug.Log(ball.name);
GameManager.instance.OnGoal(team);
}else if(collision.gameObject.CompareTag("Puck")){
Debug.Log("Puck goal", gameObject);
Puck puck = collision.gameObject.GetComponent<Puck>();
Debug.Log(puck.name);
puck.ScheduleReset(collision.transform.position);
}
}
void OnTriggerExit2D(Collider2D collision)
{
if(!isServer){return;}
if(collision.gameObject.CompareTag("Puck")){
if(GameManager.instance != null && GameManager.instance.AreResetCollisionsDisabled)
return;
Debug.Log("Puck exit goal", gameObject);
Puck puck = collision.gameObject.GetComponent<Puck>();
Debug.Log(puck.name);
puck.UnscheduleReset();
}
}
}