/* #endregion */ /* ======================================================================================== */ /* #region ==== S E T P O S I T I O N ==================================================== */ public void SetPosition() { BallGridPoint = MatchManager.BallGrid.CurrentPoint; position.x = BallGridPoint.transform.position.x; position.z = BallGridPoint.transform.position.z; this.transform.position = position; }
private void OnTriggerEnter(Collider collidingPoint) { BallGridPoint ballPoint = collidingPoint.GetComponent <BallGridPoint>(); MatchManager.BallGrid.SetCurrentPoint(ballPoint); MatchManager.BallPointer.SetPosition(); }
/* #endregion */ /* #endregion */ /* ======================================================================================== */ /* #region ==== GET OVERLAPPING BALL POINTS AND ADD THEIR PITCHTILE TO THIS LIST ========== */ private void OnTriggerEnter(Collider collidingPoint) { if (!collidingPoints.Contains(collidingPoint)) { if (collidingPoint.tag != "BallPointer") { collidingPoints.Add(collidingPoint); BallGridPoint ballPoint = collidingPoint.GetComponent <BallGridPoint>(); PitchTile tile = ballPoint.PitchTile; AddToReachableTiles(tile); } } }
/* #endregion */ /* #endregion */ /* ======================================================================================== */ /* #region ==== S E T B A L L P O S I T I O N (to a specified BallGridPoint) ============ */ public void SetBallPosition(BallGridPoint ballPoint) { if (ballPoint != null) { Vector3 newPos = new Vector3( ballPoint.transform.position.x, this.transform.position.y, ballPoint.transform.position.z); this.transform.position = newPos; } else { if (showErrorMessage) { Debug.Log("The ballPoint is not set (null)", this); showErrorMessage = false; } } }
/* #endregion */ /* #region ---- Set Ball position at the BallHolder (depending on BallHolders curren angle)*/ private void setBallPositionInPossession(MatchPlayer Player) { BallGridPoint ballPoint = null; switch (Player.currentAngle) { case 0: ballPoint = Player.CurrentTile.BallGridPoints[7]; break; case 45: ballPoint = Player.CurrentTile.BallGridPoints[8]; break; case 90: ballPoint = Player.CurrentTile.BallGridPoints[5]; break; case 135: ballPoint = Player.CurrentTile.BallGridPoints[2]; break; case 180: ballPoint = Player.CurrentTile.BallGridPoints[1]; break; case 225: ballPoint = Player.CurrentTile.BallGridPoints[0]; break; case 270: ballPoint = Player.CurrentTile.BallGridPoints[3]; break; case 315: ballPoint = Player.CurrentTile.BallGridPoints[6]; break; } MatchManager.Ball.SetBallPosition(ballPoint); }