void OnTriggerEnter(Collider other) { if (other.gameObject.tag == "golfBall" && !ballDetected) { ballDetected = true; AudioSource audio = gameObject.GetComponent <AudioSource>(); audio.Play(); GolfGame.HoleFinished(); } }
// Use this for initialization void Start() { gameState = GameState.ReadyToShoot; Golf = this; SavedData.SetNumberOfHoles(numberOfHoles); SavedData.SetPar(par); shotScoreNames = new Dictionary <int, string> { { -4, "Condor" }, { -3, "Albatross" }, { -2, "Eagle" }, { -1, "Birdie" }, { 0, "Par" }, { 1, "Bogey" }, { 2, "Double Bogey" }, { 3, "Triple Bogey" } }; rand = new System.Random(); }
void Update() { if (Input.GetKeyDown(KeyCode.C)) { GolfGame.ToggleCamera(); ToggleCameraMode(); } else if (GolfGame.Golf.gameState == GameState.ReadyToShoot || GolfGame.Golf.gameState == GameState.BallInMotion) { var newPosition = pointOfInterest.transform.position + offset; gameObject.transform.position = newPosition; var mouseX = Input.GetAxis("Mouse X"); var mouseY = -Input.GetAxis("Mouse Y"); gameObject.transform.RotateAround(pointOfInterest.transform.position, Vector3.up, sensitivity * mouseX); //we use transform.right here to get rotate around the camera's local right axis, instead of the world axis. gameObject.transform.RotateAround(pointOfInterest.transform.position, transform.right, sensitivity * mouseY); offset = gameObject.transform.position - pointOfInterest.transform.position; lastBallRotation = gameObject.transform.rotation; } }
public void OnPost() { int total = 0; // Message = "OnPost"; if (ModelState.IsValid) { int Confirmation; List <GolfGameHole> holes = new List <GolfGameHole>(); GolfGameHole golfGameHole1 = new GolfGameHole { HoleNumber = 1, Score = Hole1Field, }; holes.Add(golfGameHole1); GolfGameHole golfGameHole2 = new GolfGameHole { HoleNumber = 2, Score = Hole2Field, }; holes.Add(golfGameHole2); GolfGameHole golfGameHole3 = new GolfGameHole { HoleNumber = 3, Score = Hole3Field, }; holes.Add(golfGameHole3); GolfGameHole golfGameHole4 = new GolfGameHole { HoleNumber = 4, Score = Hole4Field, }; holes.Add(golfGameHole4); GolfGameHole golfGameHole5 = new GolfGameHole { HoleNumber = 5, Score = Hole5Field, }; holes.Add(golfGameHole5); GolfGameHole golfGameHole6 = new GolfGameHole { HoleNumber = 6, Score = Hole6Field, }; holes.Add(golfGameHole6); GolfGameHole golfGameHole7 = new GolfGameHole { HoleNumber = 7, Score = Hole7Field, }; holes.Add(golfGameHole7); GolfGameHole golfGameHole8 = new GolfGameHole { HoleNumber = 8, Score = Hole8Field, }; holes.Add(golfGameHole8); GolfGameHole golfGameHole9 = new GolfGameHole { HoleNumber = 9, Score = Hole9Field, }; GolfGameHole golfGameHole10 = new GolfGameHole { HoleNumber = 10, Score = Hole10Field, }; holes.Add(golfGameHole10); GolfGameHole golfGameHole11 = new GolfGameHole { HoleNumber = 11, Score = Hole11Field, }; holes.Add(golfGameHole11); GolfGameHole golfGameHole12 = new GolfGameHole { HoleNumber = 12, Score = Hole12Field, }; holes.Add(golfGameHole12); GolfGameHole golfGameHole13 = new GolfGameHole { HoleNumber = 13, Score = Hole13Field, }; holes.Add(golfGameHole13); GolfGameHole golfGameHole14 = new GolfGameHole { HoleNumber = 14, Score = Hole14Field, }; holes.Add(golfGameHole14); GolfGameHole golfGameHole15 = new GolfGameHole { HoleNumber = 15, Score = Hole15Field, }; holes.Add(golfGameHole15); GolfGameHole golfGameHole16 = new GolfGameHole { HoleNumber = 16, Score = Hole16Field, }; holes.Add(golfGameHole16); GolfGameHole golfGameHole17 = new GolfGameHole { HoleNumber = 17, Score = Hole17Field, }; holes.Add(golfGameHole17); GolfGameHole golfGameHole18 = new GolfGameHole { HoleNumber = 18, Score = Hole18Field, }; holes.Add(golfGameHole18); foreach (var hole in holes) { total += hole.Score; } GolfGame golfGame = new GolfGame { MemberNumber = MemberNumberField, GolfCourse = GolfCourseField, GolfGameDate = GolfGateDate, CourseRating = CourseRatingField, SlopeRating = SlopeRatingField, TotalScore = total, holeList = holes }; CBS RequestDirector = new CBS(); Confirmation = RequestDirector.AddGameScore(golfGame); Message = $" {golfGame.GolfCourse}:{Confirmation} added"; } else { Message = $"Not Valid"; } }
public int InsertGolfGame(GolfGame newGolfGame, string user, string password) { bool sqlError = false; int saleNumber = 0; ConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); configurationBuilder.SetBasePath(Directory.GetCurrentDirectory()); configurationBuilder.AddJsonFile("appsettings.json"); IConfiguration configuration = configurationBuilder.Build(); SqlConnection ClubBaistConnection = new SqlConnection(configuration.GetConnectionString("BAIS3230")); ClubBaistConnection.Open(); // SqlTransaction sqlTransaction = ClubBaistConnection.BeginTransaction(); SqlCommand AddGolfGameCommand = new SqlCommand() { CommandText = "AddGame", CommandType = CommandType.StoredProcedure, Connection = ClubBaistConnection, // Transaction = sqlTransaction }; SqlParameter GolfGameDate = new SqlParameter() { Direction = ParameterDirection.Input, ParameterName = "@GolfGameDate", SqlDbType = SqlDbType.Date, SqlValue = newGolfGame.GolfGameDate }; AddGolfGameCommand.Parameters.Add(GolfGameDate); SqlParameter timeSubmitted = new SqlParameter() { Direction = ParameterDirection.Input, ParameterName = "@TimeSubmitted", SqlDbType = SqlDbType.Date, SqlValue = DateTime.Now }; AddGolfGameCommand.Parameters.Add(timeSubmitted); SqlParameter golfCourse = new SqlParameter() { Direction = ParameterDirection.Input, ParameterName = "@GolfCourse", SqlDbType = SqlDbType.NVarChar, SqlValue = newGolfGame.GolfCourse }; AddGolfGameCommand.Parameters.Add(golfCourse); SqlParameter courseRating = new SqlParameter() { Direction = ParameterDirection.Input, ParameterName = "@CourseRating", SqlDbType = SqlDbType.Int, SqlValue = newGolfGame.CourseRating }; AddGolfGameCommand.Parameters.Add(courseRating); SqlParameter slopeRating = new SqlParameter() { Direction = ParameterDirection.Input, ParameterName = "@SlopeRating", SqlDbType = SqlDbType.Int, SqlValue = newGolfGame.SlopeRating }; AddGolfGameCommand.Parameters.Add(slopeRating); SqlParameter totalScore = new SqlParameter() { Direction = ParameterDirection.Input, ParameterName = "@TotalScore", SqlDbType = SqlDbType.Int, SqlValue = newGolfGame.TotalScore }; AddGolfGameCommand.Parameters.Add(totalScore); SqlParameter memberNumber = new SqlParameter() { Direction = ParameterDirection.Input, ParameterName = "@MemberNumber", SqlDbType = SqlDbType.Int, SqlValue = newGolfGame.MemberNumber }; AddGolfGameCommand.Parameters.Add(memberNumber); SqlParameter GolfGameID = new SqlParameter() { Direction = ParameterDirection.ReturnValue, ParameterName = "@GolfGameID", SqlDbType = SqlDbType.Int }; AddGolfGameCommand.Parameters.Add(GolfGameID); try { AddGolfGameCommand.ExecuteNonQuery(); saleNumber = (int)AddGolfGameCommand.Parameters["@GolfGameID"].Value; if (saleNumber == -1) { throw new Exception("Failed to add game"); } } catch (Exception e) { Console.WriteLine($"AddGame Error - {e}"); // sqlTransaction.Rollback(); sqlError = true; } if (!sqlError) { newGolfGame.holeList.ForEach(saleItem => { saleItem.GolfRoundID = saleNumber; SqlCommand addSaleItemCommand = new SqlCommand() { CommandText = "AddGameHole", CommandType = CommandType.StoredProcedure, Connection = ClubBaistConnection, // Transaction = sqlTransaction }; SqlParameter ItemCode = new SqlParameter() { Direction = ParameterDirection.Input, ParameterName = "@HoleNumber", SqlDbType = SqlDbType.Char, SqlValue = saleItem.HoleNumber }; addSaleItemCommand.Parameters.Add(ItemCode); SqlParameter SaleNumber = new SqlParameter() { Direction = ParameterDirection.Input, ParameterName = "@GolfGameID", SqlDbType = SqlDbType.Int, SqlValue = saleItem.GolfRoundID }; addSaleItemCommand.Parameters.Add(SaleNumber); SqlParameter Quantity = new SqlParameter() { Direction = ParameterDirection.Input, ParameterName = "@Score", SqlDbType = SqlDbType.Int, SqlValue = saleItem.Score }; addSaleItemCommand.Parameters.Add(Quantity); try { addSaleItemCommand.ExecuteNonQuery(); } catch (Exception e) { Console.WriteLine($"Add Game Hole Error - {e}"); // sqlTransaction.Rollback(); sqlError = true; } }); } if (!sqlError) { // sqlTransaction.Commit(); } ClubBaistConnection.Close(); return(saleNumber); }
void Update() { if (GolfGame.Golf.gameState == GameState.ReadyToShoot) { if (Input.GetMouseButtonDown(0)) { var audio = gameObject.GetComponent <AudioSource>(); audio.pitch = 1f; audio.volume = 1f; audio.Play(); var cameraAngle = gameObject.transform.position - gameCamera.transform.position; cameraAngle.y = 0; var ballForce = Vector3.Normalize(cameraAngle); ballForce *= ballPuttForce * puttStrength; gameObject.GetComponent <Rigidbody>().AddForce(ballForce); GolfGame.BallShot(); } else if (Input.GetAxis("Mouse ScrollWheel") > 0 || Input.GetKeyDown(KeyCode.UpArrow)) { puttStrength++; if (puttStrength > PUTT_STRENGTH_MAX) { puttStrength = PUTT_STRENGTH_MAX; } shotStrengthText.text = "Shot Strength: " + ((puttStrength * 100) / PUTT_STRENGTH_MAX) + "%"; } else if (Input.GetAxis("Mouse ScrollWheel") < 0 || Input.GetKeyDown(KeyCode.DownArrow)) { puttStrength--; if (puttStrength < PUTT_STRENGTH_MIN) { puttStrength = PUTT_STRENGTH_MIN; } shotStrengthText.text = "Shot Strength: " + ((puttStrength * 100) / PUTT_STRENGTH_MAX) + "%"; } } else if ((GolfGame.Golf.gameState == GameState.BallInMotion || GolfGame.Golf.gameState == GameState.OverviewCamera) && gameObject.GetComponent <Rigidbody>().IsSleeping()) { lastPosition = gameObject.transform.position; GolfGame.BallAtRest(); } else if (GolfGame.Golf.ballInMotion) { var rigidbody = gameObject.GetComponent <Rigidbody>(); if (rigidbody.velocity.magnitude < 1 && rigidbody.velocity.magnitude > Physics.sleepThreshold && Mathf.Abs(rigidbody.velocity.y) < .01) { rigidbody.velocity *= .95f; } } if (transform.position.y < -10) { outOfBoundsText.enabled = true; transform.position = lastPosition; GetComponent <Rigidbody>().Sleep(); Invoke("HideText", 3); } }