Example #1
0
    void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.tag == "golfBall" && !ballDetected)
        {
            ballDetected = true;
            AudioSource audio = gameObject.GetComponent <AudioSource>();

            audio.Play();

            GolfGame.HoleFinished();
        }
    }
Example #2
0
    // 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();
    }
Example #3
0
    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;
        }
    }
Example #4
0
        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";
            }
        }
Example #5
0
        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);
        }
Example #6
0
    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);
        }
    }