public AnimEventShot CreateReflectBullet()
    {
        //IL_004e: Unknown result type (might be due to invalid IL or missing references)
        //IL_0053: Unknown result type (might be due to invalid IL or missing references)
        //IL_005b: Unknown result type (might be due to invalid IL or missing references)
        //IL_0089: Unknown result type (might be due to invalid IL or missing references)
        //IL_008e: Unknown result type (might be due to invalid IL or missing references)
        //IL_00a7: Unknown result type (might be due to invalid IL or missing references)
        //IL_00e4: Unknown result type (might be due to invalid IL or missing references)
        //IL_00ef: Unknown result type (might be due to invalid IL or missing references)
        //IL_00f4: Unknown result type (might be due to invalid IL or missing references)
        //IL_00f9: Unknown result type (might be due to invalid IL or missing references)
        //IL_0126: Unknown result type (might be due to invalid IL or missing references)
        //IL_0131: Unknown result type (might be due to invalid IL or missing references)
        //IL_0136: Unknown result type (might be due to invalid IL or missing references)
        //IL_013b: Unknown result type (might be due to invalid IL or missing references)
        BulletData bulletData = m_atkInfo.bulletData;

        if (bulletData == null)
        {
            return(null);
        }
        if (m_attacker == null)
        {
            return(null);
        }
        if (!MonoBehaviourSingleton <StageObjectManager> .IsValid() || MonoBehaviourSingleton <StageObjectManager> .I.playerList == null)
        {
            return(null);
        }
        Quaternion rot = m_cachedTransform.get_rotation();

        if (IsGetTarget(m_cachedTransform.get_position(), ref rot))
        {
            AnimEventShot animEventShot = AnimEventShot.CreateByExternalBulletData(m_mineData.actionBullet, m_attacker, m_atkInfo, m_cachedTransform.get_position(), rot, null, Player.ATTACK_MODE.NONE, null);
            if (animEventShot == null)
            {
                return(null);
            }
            ReflectBulletCondition reflectBulletCondition = animEventShot.get_gameObject().AddComponent <ReflectBulletCondition>();
            reflectBulletCondition.actionMineID = objId;
            if (!string.IsNullOrEmpty(m_mineData.actionEffectName1))
            {
                EffectManager.OneShot(m_mineData.actionEffectName1, m_cachedTransform.get_position() + m_mineData.actionEffectOffset, rot, false);
            }
            if (!string.IsNullOrEmpty(m_mineData.actionEffectName2))
            {
                EffectManager.OneShot(m_mineData.actionEffectName2, m_cachedTransform.get_position() + m_mineData.actionEffectOffset, rot, false);
            }
            return(animEventShot);
        }
        return(null);
    }
    public void Initialize(StageObject attacker, Transform parentTrans, AnimEventData.EventData data, AttackInfo atkInfo, AnimEventShot childEventShot)
    {
        //IL_0079: Unknown result type (might be due to invalid IL or missing references)
        //IL_007e: Expected O, but got Unknown
        //IL_00b8: Unknown result type (might be due to invalid IL or missing references)
        //IL_00f0: Unknown result type (might be due to invalid IL or missing references)
        //IL_0106: Unknown result type (might be due to invalid IL or missing references)
        //IL_011b: Unknown result type (might be due to invalid IL or missing references)
        //IL_0131: Unknown result type (might be due to invalid IL or missing references)
        //IL_0136: Unknown result type (might be due to invalid IL or missing references)
        //IL_013d: Unknown result type (might be due to invalid IL or missing references)
        //IL_0150: Unknown result type (might be due to invalid IL or missing references)
        //IL_0155: Expected O, but got Unknown
        //IL_0161: Unknown result type (might be due to invalid IL or missing references)
        //IL_0166: Expected O, but got Unknown
        //IL_01a8: Unknown result type (might be due to invalid IL or missing references)
        //IL_01b8: Unknown result type (might be due to invalid IL or missing references)
        //IL_02f0: Unknown result type (might be due to invalid IL or missing references)
        //IL_02f5: Unknown result type (might be due to invalid IL or missing references)
        //IL_0301: Unknown result type (might be due to invalid IL or missing references)
        //IL_0307: Unknown result type (might be due to invalid IL or missing references)
        //IL_030c: Unknown result type (might be due to invalid IL or missing references)
        //IL_0311: Unknown result type (might be due to invalid IL or missing references)
        //IL_031c: Unknown result type (might be due to invalid IL or missing references)
        //IL_0321: Unknown result type (might be due to invalid IL or missing references)
        //IL_0327: Unknown result type (might be due to invalid IL or missing references)
        //IL_032c: Unknown result type (might be due to invalid IL or missing references)
        bulletData = atkInfo.bulletData;
        if (!(bulletData == null))
        {
            BulletData.BulletBase data2 = bulletData.data;
            if (data2 != null)
            {
                this.attacker    = attacker;
                this.parentTrans = parentTrans;
                int           num           = (!(attacker is Player)) ? 15 : 14;
                AttackHitInfo attackHitInfo = atkInfo as AttackHitInfo;
                if (attackHitInfo != null)
                {
                    attackHitInfo.enableIdentityCheck = false;
                }
                atkInfoName = atkInfo.name;
                _transform  = this.get_transform();
                _transform.set_parent((!MonoBehaviourSingleton <StageObjectManager> .IsValid()) ? MonoBehaviourSingleton <EffectManager> .I._transform : MonoBehaviourSingleton <StageObjectManager> .I._transform);
                _transform.set_position(parentTrans.get_position());
                switch (data.intArgs[0])
                {
                case 0:
                    _transform.set_rotation(attacker._transform.get_rotation());
                    break;

                case 1:
                    _transform.set_rotation(parentTrans.get_rotation());
                    break;

                case 2:
                    _transform.set_rotation(Quaternion.get_identity());
                    break;
                }
                defaultPos = _transform.get_position();
                childEventShot.get_transform().set_parent(_transform);
                bulletObj   = childEventShot.get_gameObject();
                bulletTrans = bulletObj.get_transform();
                Vector3 localPosition = default(Vector3);
                localPosition._002Ector(data.floatArgs[0], data.floatArgs[1], data.floatArgs[2]);
                bulletTrans.set_localEulerAngles(new Vector3(data.floatArgs[3], data.floatArgs[4], data.floatArgs[5]));
                bulletTrans.set_localPosition(localPosition);
                rotSpd      = data.floatArgs[6];
                moveSpd     = data.floatArgs[7];
                moveDis     = data.floatArgs[8];
                isChaseXPos = ((data.intArgs[2] != 0) ? true : false);
                isChaseYPos = ((data.intArgs[3] != 0) ? true : false);
                isChaseZPos = ((data.intArgs[4] != 0) ? true : false);
                isChaseXRot = ((data.intArgs[5] != 0) ? true : false);
                isChaseYRot = ((data.intArgs[6] != 0) ? true : false);
                isChaseZRot = ((data.intArgs[7] != 0) ? true : false);
                isRot       = ((data.intArgs[8] != 0) ? true : false);
                isMove      = ((data.intArgs[9] != 0) ? true : false);
                moveDir     = data.intArgs[10];
                isMinusMove = ((data.intArgs[11] != 0) ? true : false);
                if (parentTrans != null)
                {
                    defaultOffsetPos = Vector3.get_zero();
                    defaultOffsetRot = _transform.get_eulerAngles() - parentTrans.get_eulerAngles();
                }
                else
                {
                    defaultOffsetPos = Vector3.get_zero();
                    defaultOffsetRot = Vector3.get_zero();
                }
                if (isChaseXPos || isChaseYPos || isChaseZPos)
                {
                    isUseChasePos = true;
                }
                if (isChaseXRot || isChaseYRot || isChaseZRot)
                {
                    isUseChaseRot = true;
                }
                currentRotAngle = 0f;
                isInit          = true;
            }
        }
    }