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(); Debug.Log(ball.name); GameManager.instance.OnGoal(team); }else if(collision.gameObject.CompareTag("Puck")){ Debug.Log("Puck goal", gameObject); Puck puck = collision.gameObject.GetComponent(); 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(); Debug.Log(puck.name); puck.UnscheduleReset(); } } }