// -------------------------------------------

        /*
         * Collision of the bullet with an element
         */
        void OnTriggerEnter(Collider _collision)
        {
            if (_collision.gameObject.tag == LocalPlayerController.Instance.GetTag())
            {
                iTween.Stop(this.gameObject);
                FXController.Instance.NewFXDeath(transform.position);
                SoundsConstants.PlayFXItemCollected();
                switch (m_type)
                {
                case POWER_UP_DISTANCE:
                    LocalPlayerController.Instance.DistanceTeleport += GameConfiguration.CELL_SIZE;
                    break;

                case POWER_UP_BOMB:
                    if (GameEventController.Instance.Level > 1)
                    {
                        LocalPlayerController.Instance.BombShoots += 2;
                    }
                    else
                    {
                        LocalPlayerController.Instance.BombShoots += 1;
                    }
                    break;

                case POWER_UP_SUPER_SHOOT:
                    if (GameEventController.Instance.Level > 1)
                    {
                        LocalPlayerController.Instance.SuperShoots += 20;
                    }
                    else
                    {
                        LocalPlayerController.Instance.SuperShoots += 10;
                    }
                    break;

                case POWER_UP_TOWER:
                    LocalPlayerController.Instance.DefenseTowers += 1;
                    break;
                }
                NetworkEventController.Instance.DispatchNetworkEvent(EVENT_POWER_UP_DESTROY, m_id.ToString());
            }
        }