public void Initialize(Player targetPlayer, RestraintInfo restInfo)
    {
        //IL_0033: Unknown result type (might be due to invalid IL or missing references)
        //IL_0038: Expected O, but got Unknown
        //IL_004f: Unknown result type (might be due to invalid IL or missing references)
        //IL_005a: Unknown result type (might be due to invalid IL or missing references)
        //IL_0065: Unknown result type (might be due to invalid IL or missing references)
        //IL_0071: Unknown result type (might be due to invalid IL or missing references)
        //IL_0076: Expected O, but got Unknown
        //IL_0082: Unknown result type (might be due to invalid IL or missing references)
        //IL_0087: Expected O, but got Unknown
        //IL_008d: Unknown result type (might be due to invalid IL or missing references)
        //IL_00de: Unknown result type (might be due to invalid IL or missing references)
        //IL_00e3: Expected O, but got Unknown
        //IL_00f9: Unknown result type (might be due to invalid IL or missing references)
        //IL_0105: Unknown result type (might be due to invalid IL or missing references)
        //IL_0111: Unknown result type (might be due to invalid IL or missing references)
        //IL_011e: Unknown result type (might be due to invalid IL or missing references)
        //IL_0123: Expected O, but got Unknown
        //IL_012e: Unknown result type (might be due to invalid IL or missing references)
        //IL_0148: Unknown result type (might be due to invalid IL or missing references)
        //IL_0152: Unknown result type (might be due to invalid IL or missing references)
        //IL_0157: Unknown result type (might be due to invalid IL or missing references)
        //IL_0176: Unknown result type (might be due to invalid IL or missing references)
        //IL_017b: Unknown result type (might be due to invalid IL or missing references)
        //IL_0182: Unknown result type (might be due to invalid IL or missing references)
        //IL_0187: Unknown result type (might be due to invalid IL or missing references)
        Transform val = (!MonoBehaviourSingleton <StageObjectManager> .IsValid()) ? MonoBehaviourSingleton <EffectManager> .I._transform : MonoBehaviourSingleton <StageObjectManager> .I._transform;

        m_targetPlayer = targetPlayer;
        Transform transform = targetPlayer._transform;
        Transform val2      = this.get_transform();

        val2.set_parent(val);
        Transform effect = EffectManager.GetEffect(restInfo.effectName, val);

        effect.set_position(transform.get_position());
        effect.set_localScale(Vector3.get_one());
        effect.set_localRotation(Quaternion.get_identity());
        m_effectRestraint   = effect.get_gameObject();
        m_effectCenterTrans = effect.FindChild("Center");
        SphereCollider val3 = this.get_gameObject().AddComponent <SphereCollider>();

        val3.set_isTrigger(true);
        val3.set_radius(restInfo.radius);
        m_isValidFlickInput = (restInfo.reduceTimeByFlick > 0f);
        if (targetPlayer.objectType == StageObject.OBJECT_TYPE.SELF)
        {
            if (IsValidFlickInput)
            {
                Transform effect2 = EffectManager.GetEffect("ef_btl_target_flick", this.get_transform());
                if (effect2 != null)
                {
                    effect2.set_localPosition(Vector3.get_zero());
                    effect2.set_localScale(Vector3.get_one());
                    effect2.set_localRotation(Quaternion.get_identity());
                    m_effectFlickWarning = effect2.get_gameObject();
                }
            }
        }
        else
        {
            TargetPoint targetPoint = this.get_gameObject().AddComponent <TargetPoint>();
            targetPoint.markerZShift       = 0f;
            targetPoint.offset             = Vector3.get_up() * 0.5f;
            targetPoint.regionID           = -1;
            targetPoint.isTargetEnable     = true;
            targetPoint.isAimEnable        = true;
            targetPoint.bleedOffsetPos     = Vector3.get_zero();
            targetPoint.bleedOffsetRot     = Vector3.get_zero();
            targetPoint.aimMarkerPointRate = 1f;
            targetPoint.ForceDisplay();
            m_targetPoint = targetPoint;
        }
        AdjustPosition();
    }