Пример #1
0
        private void SmashPeg(Collider2D pegCollider, Rigidbody2D puckRigidBody)
        {
            Vector2 puckVelocity = puckRigidBody.velocity;

            puckVelocity.Normalize();

            Vector2 impactVector = (Vector2)pegCollider.transform.position - puckVelocity;
            Vector2 impactDir    = impactVector / impactVector.magnitude;

            Peg peg = pegCollider.gameObject.GetComponent <Peg>();

            peg.Destroy(pegRespawnDelay);

            // TODO: Determine how to use pegBreakClip here
        }
Пример #2
0
        void Update()
        {
            if (IsActive && Input.GetMouseButtonDown(0))
            {
                RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);
                if (hit.collider != null && hit.collider.CompareTag(GameSettings.Instance.pegTag))
                {
                    Peg     peg         = hit.collider.GetComponent <Peg>();
                    Vector2 pegPosition = peg.transform.position;
                    peg.Destroy(pegRespawnDelay);

                    // handle explosion effect

                    pegsExplodedCount++;
                    if (pegsExplodedCount >= maxExplosionCount)
                    {
                        Deactivate();
                    }
                }
            }
        }