private void OnBallTouchFloor(GameEvents.BallTouchFloorEvent e) { if (_currentState == eGameState.Play) { float hitX = e.ContactPoint.x; bool isOOB = (Mathf.Abs(hitX) > LevelManager.Instance.GetOOBXForSide(eTeam.Away)); // we only use away here because it's positive eTeam awardedSide = (hitX < LevelManager.Instance.GetNetPosition().x ? eTeam.Away : eTeam.Home); if (isOOB || _ballUnderNet) { awardedSide = (awardedSide == eTeam.Home ? eTeam.Away : eTeam.Home); } bool isGameOver = UpdateScore(awardedSide); if (isGameOver) { SetState(eGameState.Over); } else { _servingTeamIndex = (int)awardedSide; SetState(eGameState.Serve); } _ballUnderNet = false; } }
private void OnBallTouchFloor(GameEvents.BallTouchFloorEvent e) { //Debug.LogFormat("Player {0} Saw ball touch floor!", PlayerManager.Instance.GetPlayerID(this.gameObject)); }
private void OnBallHitFloor(GameEvents.BallTouchFloorEvent e) { // for now, just stop chasing if the ball hits the floor _hasTarget = false; _targetX = transform.position.x; }