Is a point on the positive side of the plane?
var goalLine1: Plane; var goalLine2: Plane; var leftSideLine: Plane; var rightSideLine: Plane; function GoalScored(ballPos: Vector3) { // If the ball is within the sidelines... if (!leftSideLine.GetSide(ballPos) && !rightSideLine.GetSide(ballPos)) { // If the ball is over goal line 1 then it's a goal for team 1... if (goalLine1.GetSide(ballPos)) return 1; // ...else if the ball is over goal line 2 then it's a goal for team 2. else if (goalLine2.GetSide(ballPos)) return 2; } // Otherwise, it isn't a goal for either team. return 0; }
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { public Plane goalLine1; public Plane goalLine2; public Plane leftSideLine; public Plane rightSideLine; int GoalScored(Vector3 ballPos) { if (!leftSideLine.GetSide(ballPos) && !rightSideLine.GetSide(ballPos)) if (goalLine1.GetSide(ballPos)) return 1; else if (goalLine2.GetSide(ballPos)) return 2; return 0; } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): public goalLine1 as Plane public goalLine2 as Plane public leftSideLine as Plane public rightSideLine as Plane def GoalScored(ballPos as Vector3) as int: if (not leftSideLine.GetSide(ballPos)) and (not rightSideLine.GetSide(ballPos)): if goalLine1.GetSide(ballPos): return 1 elif goalLine2.GetSide(ballPos): return 2 return 0