public GameObject Clone()
    {
        GameObject go;

        switch (gameObject.layer)
        {
        case K.LAYER_SMALL_ASTEROID:
            go = PoolManager.instance.poolSmallEnemies.GetObject();
            break;

        case K.LAYER_MEDIUM_ASTEROID:
            go = PoolManager.instance.poolMediumEnemies.GetObject();
            break;

        case K.LAYER_BIG_ASTEROID:
            go = PoolManager.instance.poolBigEnemies.GetObject();
            break;

        default:
            go = null;
            break;
        }
        if (_decorator != null)
        {
            go.GetComponent <Asteroid>().SetDecorator(_decorator.Clone());
        }
        return(go);
    }