Example #1
0
    /// <summary>
    /// Falling Coconuts Kill More People Than Shark Attacks
    /// </summary>
    /// <param name="killingCoconut"></param>
    public void Kill(CoconutScript killingCoconut)
    {
        if (killingCoconut != null)
        {
          // Juice!
          SpecialEffects.Instance.KillEffect(killingCoconut.transform.position);
          Soundbank.Instance.PlaySound("kill", transform.position);

          GameScript gameScript = FindObjectOfType<GameScript>();
          if (gameScript != null)
          {
        gameScript.GuyDestroyed();
          }
        }

        Destroy(gameObject);
    }
Example #2
0
    public void Pick(CoconutScript coconut)
    {
        // Sound
        Soundbank.Instance.PlaySound("bonus", transform.position);
        SpecialEffects.Instance.JuiceExplosion(transform.position);

        // Auto destruction
        collider2D.enabled = false;
        Destroy(gameObject, 5f);

        GameScript game = FindObjectOfType<GameScript>();
        game.DisplayMessage(MessageType.Bonus);

        // Visual feedback
        text.renderer.enabled = true;
        text.text = bonus.ToString();
        animator.SetTrigger("pick");

        // Effect
        switch (bonus)
        {
          case BonusType.Clone:
        GameObject coconutClone = Instantiate(coconut.gameObject) as GameObject;

        // Tell the script it's a clone
        var coconutCloneScript = coconutClone.GetComponent<CoconutScript>();
        coconutCloneScript.IsClone = true;

        // Disable the collider for few sec
        coconutClone.collider2D.enabled = false;
        StartCoroutine(EnableColliderAfterCooldown(coconutClone, 0.5f));

        // Eject
        coconutClone.rigidbody2D.AddForce(new Vector2(Random.Range(-50f, 150f), Random.Range(1500f, 2500f)));

        break;
          //case BonusType.Fly:
          //  break;
          //case BonusType.Slowmotion:
          //  game.AddSlowmotionBonus(game.slowmotionTotalTimeInSeconds);
          //  break;
          default:
        break;
        }
    }