示例#1
0
        public void GetBallShootingDirectionWithForce__ReturnsCorrectDirection()
        {
            float shootingForce = _ball.ShootingForce;

            Vector3 robotPosition = new Vector3(0.0f, 1.2f, 0.0f);
            Vector3 ballPosition  = new Vector3(0.0f, 1.0f, 0.0f);

            var direction = _ball.GetBallShootingDirectionWithForce(robotPosition, ballPosition);

            Assert.IsTrue(direction == -(robotPosition - ballPosition).normalized * shootingForce);
        }
示例#2
0
        private void OnCollisionEnter(Collision other)
        {
            if (!_ball.IsHitByFrontLegs(other.transform.name))
            {
                return;
            }

            var direction = _ball.GetBallShootingDirectionWithForce(other.transform.position, transform.position);

            GetComponent <Rigidbody>().AddForce(direction, ForceMode.Impulse);
        }