コード例 #1
0
    private void ThrowDuckling()
    {
        if (Input.GetKeyDown(KeyCode.Mouse0))
        {
            Vector3 worldMousePosition =
                Camera.main.ScreenToWorldPoint(new Vector2(Input.mousePosition.x, Input.mousePosition.y));
            Vector2 relativePosition = worldMousePosition - transform.position;

            if (ammo > 0)
            {
                --ammo;
                throwing = true;
                AudioManager.instance.PlaySound("duckling");
                Duckling duckling = ducklings[ammo];
                StartCoroutine(WingSpin());
                ducklings.Remove(duckling);
                duckling.motherless = true;
                duckling.an.SetBool("Thrown", true);
                duckling.NotJumping();
                ParentConstraint dpc = duckling.gameObject.GetComponent <ParentConstraint>();
                Rigidbody2D      drc = duckling.gameObject.GetComponent <Rigidbody2D>();
                duckling.gameObject.transform.position = new Vector2(transform.position.x, transform.position.y + 2f);
                dpc.constraintActive = false;
                drc.AddForce(relativePosition.normalized * throwPower, ForceMode2D.Impulse);
                drc.simulated = true;
            }
        }
    }
コード例 #2
0
        public void DucklingSaysTweet()
        {
            var duck     = new Duckling();
            var greeting = duck.SayHello();

            Assert.That(greeting, Is.EqualTo("tweet"));
        }
コード例 #3
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision.gameObject.CompareTag("Duckling"))
     {
         Duckling duckling = collision.gameObject.GetComponent <Duckling>();
         if (duckling.hasHat == false)
         {
             duckling.hasHat = true;
             EndGameResultsData.instance.totalHats++;
             transform.parent             = duckling.hat.transform;
             this.transform.localPosition = Vector2.zero;
             this.transform.localRotation = Quaternion.identity;
             Debug.Log("Touched Duckling");
         }
     }
 }
コード例 #4
0
 private void OnCollisionEnter2D(Collision2D collision)
 {
     if (collision.gameObject.CompareTag("Duckling"))
     {
         checkGroundRequest = false;
         grounded           = true;
         an.SetBool("Jumping", false);
         if (ducklings.Count > 0)
         {
             foreach (Duckling d in ducklings)
             {
                 if (d != null)
                 {
                     d.NotJumping();
                 }
             }
         }
         Duckling duckling = collision.gameObject.GetComponent <Duckling>();
         PlaceDuckling(duckling);
     }
     else if (collision.gameObject.CompareTag("Platform"))
     {
         checkGroundRequest = false;
         grounded           = true;
         an.SetBool("Jumping", false);
         if (ducklings.Count > 0)
         {
             foreach (Duckling duckling in ducklings)
             {
                 if (ducklings != null)
                 {
                     duckling.NotJumping();
                 }
             }
         }
     }
 }
コード例 #5
0
 private void PlaceDuckling(Duckling duckling)
 {
     if (!duckling.isAmmo)
     {
         if (ammo < maxAmmo)
         {
             Debug.Log($"Gained Ammo {duckling.gameObject.name}");
             duckling.isAmmo = true;
             //ducklings[ammo] = duckling;
             ducklings.Add(duckling);
             ParentConstraint dpc = duckling.gameObject.GetComponent <ParentConstraint>();
             Rigidbody2D      drc = duckling.gameObject.GetComponent <Rigidbody2D>();
             duckling.GetComponent <SpriteRenderer>().sortingOrder = 3 - ammo;
             dpc.constraintActive = true;
             drc.simulated        = false;
             dpc.SetTranslationOffset(0, new Vector2(-0.75f, 0.50f + ammo));
             ammo++;
         }
     }
     else
     {
         return;
     }
 }