예제 #1
0
 public void OnDisappear(bool isExplode)
 {
     //IL_0017: Unknown result type (might be due to invalid IL or missing references)
     //IL_001d: Expected O, but got Unknown
     //IL_002d: Unknown result type (might be due to invalid IL or missing references)
     //IL_0034: Expected O, but got Unknown
     //IL_0077: Unknown result type (might be due to invalid IL or missing references)
     //IL_007c: Unknown result type (might be due to invalid IL or missing references)
     //IL_00a5: Unknown result type (might be due to invalid IL or missing references)
     //IL_00ab: Expected O, but got Unknown
     //IL_00b6: Unknown result type (might be due to invalid IL or missing references)
     if (!object.ReferenceEquals(cachedEffectTransform, null) && !object.ReferenceEquals((object)cachedEffectTransform.get_gameObject(), null))
     {
         EffectManager.ReleaseEffect(cachedEffectTransform.get_gameObject(), true, false);
     }
     cachedEffectTransform = null;
     if (isExplode && !object.ReferenceEquals(atkInfo, null))
     {
         AtkAttribute         atkAttribute = exAtk;
         SkillInfo.SkillParam exSkillParam = skillParam;
         AnimEventShot.Create(ownerPlayer, atkInfo, cachedTransform.get_position(), Quaternion.get_identity(), null, true, null, null, atkAttribute, Player.ATTACK_MODE.NONE, null, exSkillParam);
     }
     ownerPlayer = null;
     atkInfo     = null;
     bulletData  = null;
     if (!object.ReferenceEquals((object)this.get_gameObject(), null))
     {
         Object.Destroy(this.get_gameObject());
     }
 }
    private AnimEventShot CreateExplosion()
    {
        //IL_0048: Unknown result type (might be due to invalid IL or missing references)
        //IL_004d: Unknown result type (might be due to invalid IL or missing references)
        //IL_0054: Unknown result type (might be due to invalid IL or missing references)
        //IL_0059: Unknown result type (might be due to invalid IL or missing references)
        //IL_006c: Unknown result type (might be due to invalid IL or missing references)
        //IL_006d: Unknown result type (might be due to invalid IL or missing references)
        BulletData bulletData = m_atkInfo.bulletData;

        if (bulletData == null)
        {
            return(null);
        }
        BulletData.BulletMine dataMine = bulletData.dataMine;
        if (bulletData == null)
        {
            return(null);
        }
        if (m_attacker == null)
        {
            return(null);
        }
        Quaternion    rotation      = m_cachedTransform.get_rotation();
        Vector3       position      = m_cachedTransform.get_position();
        AnimEventShot animEventShot = AnimEventShot.CreateByExternalBulletData(dataMine.explodeBullet, m_attacker, m_atkInfo, position, rotation, null, Player.ATTACK_MODE.NONE, null);

        if (animEventShot == null)
        {
            return(null);
        }
        return(animEventShot);
    }
예제 #3
0
    private AnimEventShot CreateBullet()
    {
        //IL_0042: Unknown result type (might be due to invalid IL or missing references)
        //IL_0047: Unknown result type (might be due to invalid IL or missing references)
        //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_0066: Unknown result type (might be due to invalid IL or missing references)
        //IL_0067: Unknown result type (might be due to invalid IL or missing references)
        BulletData bulletData = m_atkInfo.bulletData;

        if (bulletData == null)
        {
            return(null);
        }
        BulletData.BulletDig dataDig = bulletData.dataDig;
        if (dataDig == null)
        {
            return(null);
        }
        if (m_attacker == null)
        {
            return(null);
        }
        Quaternion    rotation      = m_cachedTransform.get_rotation();
        Vector3       position      = m_cachedTransform.get_position();
        AnimEventShot animEventShot = AnimEventShot.CreateByExternalBulletData(dataDig.flyOutBullet, m_attacker, m_atkInfo, position, rotation, null, Player.ATTACK_MODE.NONE, null);

        if (animEventShot == null)
        {
            Log.Error("Failed to create AnimEventShot for Dig!!");
            return(null);
        }
        m_isCreatedBullet = true;
        return(animEventShot);
    }
    private AnimEventShot CreateBullet(int index)
    {
        //IL_006f: Unknown result type (might be due to invalid IL or missing references)
        //IL_0074: Unknown result type (might be due to invalid IL or missing references)
        //IL_007b: Unknown result type (might be due to invalid IL or missing references)
        //IL_0080: Unknown result type (might be due to invalid IL or missing references)
        //IL_00dc: Unknown result type (might be due to invalid IL or missing references)
        //IL_00dd: Unknown result type (might be due to invalid IL or missing references)
        if (m_trackingData == null)
        {
            return(null);
        }
        if (m_attacker == null)
        {
            return(null);
        }
        if (m_atkInfoNames == null || m_atkInfoNames.Length <= 0)
        {
            return(null);
        }
        if (m_atkInfoNames.Length < index)
        {
            return(null);
        }
        AttackInfo attackInfo = m_attacker.FindAttackInfo(m_atkInfoNames[index], true, false);

        if (attackInfo == null)
        {
            return(null);
        }
        Quaternion rotation = m_cachedTransform.get_rotation();
        Vector3    position = m_cachedTransform.get_position();

        if (m_attackerPlayer != null)
        {
            IsReplaceSkill = true;
        }
        AtkAttribute atk = m_exAtkList[index];

        if (atk == null)
        {
            atk = new AtkAttribute();
            m_attacker.GetAtk(attackInfo as AttackHitInfo, ref atk);
            m_exAtkList[index] = atk;
        }
        AnimEventShot animEventShot = AnimEventShot.CreateByExternalBulletData(m_trackingData.emissionBullet, m_attacker, attackInfo, position, rotation, atk, m_attackMode, null);

        if (animEventShot == null)
        {
            Log.Error("Failed to create AnimEventShot for tracking bullet!");
            return(null);
        }
        if (m_attackerPlayer != null)
        {
            IsReplaceSkill = false;
        }
        return(animEventShot);
    }
예제 #5
0
    public static AnimEventShot Create(StageObject stage_object, AttackInfo atk_info, Vector3 pos, Quaternion rot, GameObject attach_object = null, bool isScaling = true, string change_effect = null, BulletData exBulletData = null, AtkAttribute exAtk = null, Player.ATTACK_MODE attackMode = Player.ATTACK_MODE.NONE, DamageDistanceTable.DamageDistanceData damageDistanceData = null, SkillInfo.SkillParam exSkillParam = null)
    {
        //IL_009f: Unknown result type (might be due to invalid IL or missing references)
        //IL_00b3: Unknown result type (might be due to invalid IL or missing references)
        //IL_00b8: Unknown result type (might be due to invalid IL or missing references)
        //IL_00bd: Expected O, but got Unknown
        //IL_00c3: Unknown result type (might be due to invalid IL or missing references)
        //IL_00d4: Unknown result type (might be due to invalid IL or missing references)
        //IL_0100: Unknown result type (might be due to invalid IL or missing references)
        //IL_0101: Unknown result type (might be due to invalid IL or missing references)
        BulletData bulletData = atk_info.bulletData;

        if (exBulletData != null)
        {
            bulletData = exBulletData;
        }
        if (atk_info.isBulletSkillReference)
        {
            Player player = stage_object as Player;
            if (player != null)
            {
                SkillInfo.SkillParam actSkillParam = player.skillInfo.actSkillParam;
                if (actSkillParam != null)
                {
                    bulletData = actSkillParam.bullet;
                }
            }
        }
        if (bulletData == null)
        {
            Log.Error("Failed to shoot bullet!! atk_info:" + ((atk_info == null) ? string.Empty : atk_info.name));
            return(null);
        }
        Transform     val           = Utility.CreateGameObject(bulletData.get_name(), MonoBehaviourSingleton <StageObjectManager> .I._transform, -1);
        AnimEventShot animEventShot = val.get_gameObject().AddComponent <AnimEventShot>();

        if (isScaling)
        {
            Transform val2 = stage_object.get_gameObject().get_transform();
            animEventShot.SetBaseScale(val2.get_lossyScale());
        }
        else
        {
            animEventShot.SetBaseScale(Vector3.get_one());
        }
        animEventShot.SetAttachObject(attach_object);
        if (bulletData.type == BulletData.BULLET_TYPE.BREAKABLE)
        {
            animEventShot.SetTargetPoint();
        }
        animEventShot.Shot(stage_object, atk_info, bulletData, pos, rot, change_effect, true, exAtk, attackMode, damageDistanceData, exSkillParam);
        return(animEventShot);
    }
    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(AnimEventShot aminEventShot, float time)
    {
        //IL_000b: Unknown result type (might be due to invalid IL or missing references)
        //IL_0011: Expected O, but got Unknown
        //IL_0054: Unknown result type (might be due to invalid IL or missing references)
        //IL_006f: Unknown result type (might be due to invalid IL or missing references)
        _animEventShot = aminEventShot;
        int layer = 18;

        Utility.SetLayerWithChildren(this.get_transform(), layer);
        base._rigidbody = this.GetComponent <Rigidbody>();
        base._rigidbody.set_useGravity(false);
        base._rigidbody.set_isKinematic(true);
        _colliderList = this.GetComponentsInChildren <Collider>();
        if (_colliderList.Length == 0)
        {
            CapsuleCollider val = this.get_gameObject().AddComponent <CapsuleCollider>();
            val.set_center(new Vector3(0f, 0f, 0f));
            val.set_direction(2);
            _colliderList    = (Collider[])new Collider[1];
            _colliderList[0] = val;
        }
        breakEnableTime = time;
        keika           = 0f;
        if (breakEnableTime > 0f)
        {
            breakEnebleFlag = false;
        }
        else
        {
            breakEnebleFlag = true;
        }
        int i = 0;

        for (int num = _colliderList.Length; i < num; i++)
        {
            _colliderList[i].set_isTrigger(false);
            if (!breakEnebleFlag)
            {
                _colliderList[i].set_enabled(false);
            }
        }
        isBreak          = false;
        isHitBreakEnable = _animEventShot.bulletData.dataObstacle.isHitBreak;
    }
예제 #8
0
    private AnimEventShot CreateBullet()
    {
        //IL_0042: Unknown result type (might be due to invalid IL or missing references)
        //IL_0047: Unknown result type (might be due to invalid IL or missing references)
        //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_005a: Unknown result type (might be due to invalid IL or missing references)
        //IL_005f: Unknown result type (might be due to invalid IL or missing references)
        //IL_0064: Unknown result type (might be due to invalid IL or missing references)
        //IL_0069: Unknown result type (might be due to invalid IL or missing references)
        //IL_007c: Unknown result type (might be due to invalid IL or missing references)
        //IL_007d: Unknown result type (might be due to invalid IL or missing references)
        BulletData bulletData = m_atkInfo.bulletData;

        if (bulletData == null)
        {
            return(null);
        }
        BulletData.BulletFunnel dataFunnel = bulletData.dataFunnel;
        if (dataFunnel == null)
        {
            return(null);
        }
        if (m_attacker == null)
        {
            return(null);
        }
        Quaternion    rotation      = m_cachedTransform.get_rotation();
        Vector3       pos           = m_cachedTransform.get_position() + rotation * m_funnelData.offsetPosition;
        AnimEventShot animEventShot = AnimEventShot.CreateByExternalBulletData(dataFunnel.bitBullet, m_attacker, m_atkInfo, pos, rotation, m_exAtk, m_attackMode, m_skillParam);

        if (animEventShot == null)
        {
            Log.Error("Failed to create AnimEventShot for Funnel!!");
            return(null);
        }
        return(animEventShot);
    }
예제 #9
0
 public void AddBulletLaser(AnimEventShot bullet)
 {
     bulletLaserList.Add(bullet);
 }
    private void FuncBasisMode()
    {
        //IL_0096: Unknown result type (might be due to invalid IL or missing references)
        //IL_009b: Unknown result type (might be due to invalid IL or missing references)
        //IL_00c9: Unknown result type (might be due to invalid IL or missing references)
        //IL_00cb: Unknown result type (might be due to invalid IL or missing references)
        //IL_00d0: Unknown result type (might be due to invalid IL or missing references)
        //IL_00d5: Unknown result type (might be due to invalid IL or missing references)
        //IL_0245: Unknown result type (might be due to invalid IL or missing references)
        //IL_0366: Unknown result type (might be due to invalid IL or missing references)
        //IL_0367: Unknown result type (might be due to invalid IL or missing references)
        //IL_036c: Unknown result type (might be due to invalid IL or missing references)
        //IL_036f: Unknown result type (might be due to invalid IL or missing references)
        //IL_0374: Unknown result type (might be due to invalid IL or missing references)
        //IL_038b: Unknown result type (might be due to invalid IL or missing references)
        //IL_0390: Unknown result type (might be due to invalid IL or missing references)
        //IL_0394: Unknown result type (might be due to invalid IL or missing references)
        //IL_0399: Unknown result type (might be due to invalid IL or missing references)
        //IL_039b: Unknown result type (might be due to invalid IL or missing references)
        //IL_039d: Unknown result type (might be due to invalid IL or missing references)
        //IL_03a2: Unknown result type (might be due to invalid IL or missing references)
        //IL_03a6: Unknown result type (might be due to invalid IL or missing references)
        //IL_03ab: Unknown result type (might be due to invalid IL or missing references)
        //IL_03b0: Unknown result type (might be due to invalid IL or missing references)
        //IL_03b5: Unknown result type (might be due to invalid IL or missing references)
        //IL_042d: Unknown result type (might be due to invalid IL or missing references)
        //IL_057c: Unknown result type (might be due to invalid IL or missing references)
        //IL_0581: Unknown result type (might be due to invalid IL or missing references)
        //IL_0583: Unknown result type (might be due to invalid IL or missing references)
        //IL_0585: Unknown result type (might be due to invalid IL or missing references)
        //IL_058a: Unknown result type (might be due to invalid IL or missing references)
        //IL_058c: Unknown result type (might be due to invalid IL or missing references)
        //IL_058e: Unknown result type (might be due to invalid IL or missing references)
        //IL_0590: Unknown result type (might be due to invalid IL or missing references)
        //IL_0595: Unknown result type (might be due to invalid IL or missing references)
        //IL_0599: Unknown result type (might be due to invalid IL or missing references)
        //IL_059b: Unknown result type (might be due to invalid IL or missing references)
        //IL_059d: Unknown result type (might be due to invalid IL or missing references)
        //IL_05a2: Unknown result type (might be due to invalid IL or missing references)
        //IL_05a6: Unknown result type (might be due to invalid IL or missing references)
        //IL_05b2: Unknown result type (might be due to invalid IL or missing references)
        //IL_05b7: Unknown result type (might be due to invalid IL or missing references)
        //IL_05b9: Unknown result type (might be due to invalid IL or missing references)
        //IL_05be: Unknown result type (might be due to invalid IL or missing references)
        //IL_05c5: Unknown result type (might be due to invalid IL or missing references)
        //IL_05c7: Unknown result type (might be due to invalid IL or missing references)
        //IL_05ce: Unknown result type (might be due to invalid IL or missing references)
        //IL_05d0: Unknown result type (might be due to invalid IL or missing references)
        //IL_06c9: Unknown result type (might be due to invalid IL or missing references)
        //IL_06cb: Unknown result type (might be due to invalid IL or missing references)
        //IL_06cd: Unknown result type (might be due to invalid IL or missing references)
        //IL_06d2: Unknown result type (might be due to invalid IL or missing references)
        //IL_06d4: Unknown result type (might be due to invalid IL or missing references)
        //IL_06d6: Unknown result type (might be due to invalid IL or missing references)
        //IL_06dd: Unknown result type (might be due to invalid IL or missing references)
        //IL_0727: Unknown result type (might be due to invalid IL or missing references)
        //IL_0729: Unknown result type (might be due to invalid IL or missing references)
        //IL_072e: Unknown result type (might be due to invalid IL or missing references)
        //IL_0804: Unknown result type (might be due to invalid IL or missing references)
        //IL_0805: Unknown result type (might be due to invalid IL or missing references)
        //IL_0807: Unknown result type (might be due to invalid IL or missing references)
        //IL_080c: Unknown result type (might be due to invalid IL or missing references)
        //IL_0ab1: Unknown result type (might be due to invalid IL or missing references)
        Self self = MonoBehaviourSingleton <StageObjectManager> .I.self;

        if (MonoBehaviourSingleton <StageObjectManager> .I.boss != null)
        {
            parameter = MonoBehaviourSingleton <InGameSettingsManager> .I.targetMarker;
        }
        else
        {
            parameter = MonoBehaviourSingleton <InGameSettingsManager> .I.targetMarkerLesserEnemies;
        }
        if (changeLockFlag)
        {
            changeLockTime -= Time.get_deltaTime();
            if (changeLockTime <= 0f)
            {
                changeLockTime = 0f;
                changeLockFlag = false;
                isTargetLock   = !isTargetLock;
            }
        }
        bool    flag = false;
        Vector3 val  = self._position;

        if (self.isArrowAimLesserMode)
        {
            if (self.isArrowAimEnd)
            {
                flag = true;
            }
            else
            {
                parameter = MonoBehaviourSingleton <InGameSettingsManager> .I.targetMarkerArrowAimLesser;
                val      += self.arrowAimLesserCursorPos;
            }
        }
        float num  = parameter.targetDistance;
        float num2 = parameter.showTargetDistance;

        if (self.isLongAttackMode)
        {
            num  = parameter.targetDistanceArrow;
            num2 = parameter.showTargetDistanceArrow;
        }
        TargetPoint targetingPoint = self.targetingPoint;

        self.targetingPointList.Clear();
        self.targetPointWithSpWeakList.Clear();
        int i = 0;

        for (int count = MonoBehaviourSingleton <StageObjectManager> .I.enemyList.Count; i < count; i++)
        {
            Enemy enemy = MonoBehaviourSingleton <StageObjectManager> .I.EnemyList[i];
            if (enemy.HasValidTargetPoint())
            {
                for (int j = 0; j < enemy.targetPoints.Length; j++)
                {
                    RegisterTargetInfo(enemy.targetPoints[j], enemy);
                }
            }
            List <IBulletObservable> bulletObservableList = enemy.GetBulletObservableList();
            if (bulletObservableList != null)
            {
                for (int k = 0; k < bulletObservableList.Count; k++)
                {
                    AnimEventShot animEventShot = bulletObservableList[k] as AnimEventShot;
                    if (!(animEventShot == null) && !(animEventShot.targetPoint == null))
                    {
                        RegisterTargetInfo(animEventShot.targetPoint, null);
                    }
                }
            }
        }
        for (int l = 0; l < MonoBehaviourSingleton <InGameManager> .I.dropItemList.Count; l++)
        {
            FieldDropObject fieldDropObject = MonoBehaviourSingleton <InGameManager> .I.dropItemList[l];
            if (fieldDropObject.targetPoint != null && fieldDropObject.get_gameObject().get_activeInHierarchy())
            {
                RegisterTargetInfo(fieldDropObject.targetPoint, null);
            }
        }
        int count2 = MonoBehaviourSingleton <StageObjectManager> .I.playerList.Count;

        for (int m = 0; m < count2; m++)
        {
            Player player = MonoBehaviourSingleton <StageObjectManager> .I.playerList[m] as Player;
            if (!(player == null) && !player.isDead)
            {
                TargetPoint restraintTargetPoint = player.RestraintTargetPoint;
                if (restraintTargetPoint != null)
                {
                    RegisterTargetInfo(restraintTargetPoint, null);
                }
            }
        }
        if (numTargetInfo <= 0)
        {
            Clear();
            self.SetActionTarget(null, true);
        }
        else
        {
            float       num3         = parameter.showAngle * 0.0174532924f;
            float       num4         = num * num;
            float       num5         = num2 * num2;
            float       num6         = parameter.targetAngle * 0.0174532924f;
            TargetPoint targetPoint  = null;
            float       num7         = 3.40282347E+38f;
            TargetPoint targetPoint2 = null;
            float       num8         = 3.40282347E+38f;
            TargetPoint targetPoint3 = null;
            float       num9         = 3.40282347E+38f;
            Vector2     val2         = val.ToVector2XZ();
            Vector2     forwardXZ    = self.forwardXZ;
            forwardXZ.Normalize();
            Transform  cameraTransform = MonoBehaviourSingleton <InGameCameraManager> .I.cameraTransform;
            Quaternion rotation        = cameraTransform.get_rotation();
            Vector3    position        = cameraTransform.get_position();
            Vector2    val3            = position.ToVector2XZ();
            Vector3    val4            = Vector2.op_Implicit(cameraTransform.get_forward().ToVector2XZ());
            val4.Normalize();
            bool isAutoMode = self.isAutoMode;
            for (int n = 0; n < numTargetInfo; n++)
            {
                Enemy             enemy2       = targetInfoList[n].enemy;
                TargetPoint       targetPoint4 = targetInfoList[n].targetPoint;
                TargetPoint.Param param        = targetPoint4.param;
                param.isShowRange    = false;
                param.isTargetEnable = false;
                param.weakState      = Enemy.WEAK_STATE.NONE;
                param.weakSubParam   = -1;
                if (targetPoint4.get_enabled() && targetPoint4.get_gameObject().get_activeInHierarchy())
                {
                    if (self.isArrowAimBossMode)
                    {
                        if (!self.CheckAttackModeAndSpType(Player.ATTACK_MODE.ARROW, SP_ATTACK_TYPE.SOUL) && !targetPoint4.isAimEnable)
                        {
                            continue;
                        }
                    }
                    else if (!targetPoint4.isTargetEnable)
                    {
                        continue;
                    }
                    if (enemy2 != null && targetPoint4.regionID >= 0 && targetPoint4.regionID < enemy2.regionWorks.Length)
                    {
                        EnemyRegionWork enemyRegionWork = enemy2.regionWorks[targetPoint4.regionID];
                        if (!enemyRegionWork.enabled)
                        {
                            continue;
                        }
                        if (!self.isArrowAimBossMode || Enemy.IsWeakStateDisplaySign(enemyRegionWork.weakState))
                        {
                            param.weakState        = enemyRegionWork.weakState;
                            param.weakSubParam     = enemyRegionWork.weakSubParam;
                            param.validElementType = enemyRegionWork.validElementType;
                            if (Enemy.IsWeakStateCheckAlreadyHit(param.weakState) && enemyRegionWork.weakAttackIDs.Contains(self.id))
                            {
                                param.weakState = Enemy.WEAK_STATE.NONE;
                            }
                        }
                        param.aimMarkerScale = MonoBehaviourSingleton <InGameSettingsManager> .I.enemy.aimMarkerBaseRate * enemy2.enemyTableData.aimMarkerRate * targetPoint4.aimMarkerPointRate;
                    }
                    param.isTargetEnable = true;
                    Vector3           targetPoint5 = targetPoint4.GetTargetPoint();
                    Vector2           val5         = targetPoint5.ToVector2XZ();
                    Vector2           val6         = val5 - val2;
                    TargetPoint.Param param2       = param;
                    Vector3           val7         = position - targetPoint5;
                    param2.markerPos = val7.get_normalized() * targetPoint4.scaledMarkerZShift + targetPoint5;
                    param.markerRot  = rotation;
                    param.targetPos  = targetPoint5;
                    bool flag2 = false;
                    if (param.weakState != 0 && param.weakSubParam != 0)
                    {
                        flag2 = true;
                    }
                    float sqrMagnitude = val6.get_sqrMagnitude();
                    param.isShowRange     = (sqrMagnitude < num5 || flag2);
                    param.vecSqrMagnitude = sqrMagnitude;
                    if (!isTargetDisable)
                    {
                        if (isAutoMode && !(targetPoint4.owner is Player))
                        {
                            if (targetPoint3 == null)
                            {
                                targetPoint3 = targetPoint4;
                                num9         = sqrMagnitude;
                            }
                            else if (targetPoint4.owner == null)
                            {
                                if (targetPoint3.owner == null)
                                {
                                    if (sqrMagnitude < num9)
                                    {
                                        targetPoint3 = targetPoint4;
                                        num9         = sqrMagnitude;
                                    }
                                }
                                else
                                {
                                    targetPoint3 = targetPoint4;
                                    num9         = sqrMagnitude;
                                }
                            }
                            else if (sqrMagnitude < num9)
                            {
                                targetPoint3 = targetPoint4;
                                num9         = sqrMagnitude;
                            }
                        }
                        if (flag2 || !(sqrMagnitude > num4))
                        {
                            Vector2 val8  = val5 - val3;
                            float   num10 = Mathf.Acos(Vector2.Dot(Vector2.op_Implicit(val4), val8.get_normalized()));
                            if (!(num10 > num3))
                            {
                                bool flag3 = false;
                                if (parameter.enableCameraCulling && !flag)
                                {
                                    float   cameraCullingMargin = parameter.cameraCullingMargin;
                                    Vector3 val9 = MonoBehaviourSingleton <InGameCameraManager> .I.WorldToViewportPoint(targetPoint5);

                                    if (val9.x < 0f - cameraCullingMargin || val9.x > 1f + cameraCullingMargin || val9.y < 0f - cameraCullingMargin || val9.y > 1f + cameraCullingMargin || val9.z < 0f)
                                    {
                                        flag3 = true;
                                    }
                                }
                                if (!flag3)
                                {
                                    if (Enemy.IsWeakStateSpAttack(param.weakState) && param.weakSubParam == (int)self.attackMode)
                                    {
                                        self.targetPointWithSpWeakList.Add(targetPoint4);
                                    }
                                    if (Enemy.IsWeakStateDisplaySign(param.weakState))
                                    {
                                        float num11 = Mathf.Sqrt(sqrMagnitude) - parameter.weakMarginDistance;
                                        sqrMagnitude = num11 * num11;
                                        num10        = 0f;
                                    }
                                    Vector3 val10 = val - targetPoint5;
                                    sqrMagnitude  = val10.get_magnitude();
                                    sqrMagnitude += targetPoint4.weight;
                                    if (targetPoint5.y >= 0f && targetPoint5.y < self.GetIgnoreTargetHeight())
                                    {
                                        if (targetPoint2 == null || sqrMagnitude < num8)
                                        {
                                            targetPoint2 = targetPoint4;
                                            num8         = sqrMagnitude;
                                        }
                                        if (num10 <= num6 && (targetPoint == null || sqrMagnitude < num7))
                                        {
                                            targetPoint = targetPoint4;
                                            num7        = sqrMagnitude;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            if (targetPoint == null && targetPoint2 != null)
            {
                targetPoint = targetPoint2;
            }
            if (isAutoMode)
            {
                AutoSelfController autoSelfController = self.controller as AutoSelfController;
                autoSelfController.actionTargetPoint = targetPoint3;
            }
            if (self.isArrowAimBossMode)
            {
                self.targetAimAfeterPoint = targetPoint;
                MakeTargetPointListForArrowAimBossMode(self.targetingPointList);
            }
            else
            {
                TargetPoint targetPoint6 = DecideFinalTargetPoint(targetPoint, targetingPoint, self.attackMode);
                if (targetPoint6 != null)
                {
                    self.targetingPointList.Add(targetPoint6);
                    self.SetActionTarget(targetPoint6.owner, true);
                    if (isAutoMode)
                    {
                        AutoSelfController autoSelfController2 = self.controller as AutoSelfController;
                        if (targetPoint6 != null)
                        {
                            if (targetPoint6.owner == null)
                            {
                                autoSelfController2.actionTargetPoint = targetPoint6;
                            }
                            else if (targetPoint3.owner == null)
                            {
                                targetPoint6 = (autoSelfController2.actionTargetPoint = DecideFinalTargetPoint(targetPoint3, targetPoint6, self.attackMode));
                                self.targetingPointList.Add(targetPoint6);
                                self.SetActionTarget(targetPoint6.owner, true);
                            }
                            else
                            {
                                autoSelfController2.actionTargetPoint = targetPoint6;
                            }
                        }
                        else
                        {
                            autoSelfController2.actionTargetPoint = targetPoint3;
                        }
                    }
                }
                else
                {
                    self.SetActionTarget(null, true);
                }
            }
            bool         flag4        = false;
            TargetMarker targetMarker = null;
            markersTemp.Clear();
            markersTemp.AddRange(markers);
            paramList.Clear();
            int num12  = 0;
            int count3 = paramListPool.Count;
            for (int num13 = 0; num13 < numTargetInfo; num13++)
            {
                Enemy       enemy3       = targetInfoList[num13].enemy;
                TargetPoint targetPoint7 = targetInfoList[num13].targetPoint;
                if (targetPoint7 != targetPoint)
                {
                    targetPoint7.param.targetSelectCounter -= Time.get_deltaTime();
                    if (targetPoint7.param.targetSelectCounter < 0f)
                    {
                        targetPoint7.param.targetSelectCounter = 0f;
                    }
                }
                if (targetPoint7.get_enabled() && targetPoint7.get_gameObject().get_activeInHierarchy() && showMarker)
                {
                    Enemy.WEAK_STATE weakState = targetPoint7.param.weakState;
                    bool             flag5     = false;
                    if (self.CheckAttackMode(Player.ATTACK_MODE.ARROW) && (self.isArrowAimBossMode || (self.isArrowAimLesserMode && !self.isArrowAimEnd)))
                    {
                        flag5 = true;
                    }
                    bool flag6 = false;
                    if (Enemy.IsWeakStateSpAttack(weakState) && targetPoint7.param.weakSubParam == (int)self.attackMode)
                    {
                        flag6 = true;
                    }
                    bool  playSign    = false;
                    float markerScale = 1f;
                    if (enemy3 != null && targetPoint7.regionID >= 0 && targetPoint7.regionID < enemy3.regionWorks.Length)
                    {
                        if (flag5 && !flag6)
                        {
                            markerScale = targetPoint7.param.aimMarkerScale;
                        }
                        else
                        {
                            playSign = (weakState != targetPoint7.param.prevWeakState && weakState != Enemy.WEAK_STATE.NONE);
                        }
                        if (!flag4)
                        {
                            targetPoint7.param.prevWeakState = weakState;
                        }
                    }
                    bool flag7 = self.targetingPointList.Contains(targetPoint7) || fieldMultiLockDic.ContainsKey(targetPoint7);
                    bool flag8 = (parameter.enableNormalMarker || self.isArrowAimBossMode || targetPoint7.IsForceDisplay) && !self.isJumpAction;
                    if ((flag7 && flag8) || weakState != 0)
                    {
                        TargetMarker.UpdateParam updateParam = null;
                        if (num12 >= count3)
                        {
                            updateParam = new TargetMarker.UpdateParam();
                            paramListPool.Add(updateParam);
                        }
                        else
                        {
                            updateParam = paramListPool[num12];
                        }
                        updateParam.targetPoint      = targetPoint7;
                        updateParam.targeting        = flag7;
                        updateParam.isLock           = isTargetLock;
                        updateParam.weakState        = weakState;
                        updateParam.weakSubParam     = targetPoint7.param.weakSubParam;
                        updateParam.playSign         = playSign;
                        updateParam.spAttackType     = self.spAttackType;
                        updateParam.isAimArrow       = flag5;
                        updateParam.isAimMode        = (flag5 && !flag6);
                        updateParam.isAimChargeMax   = (self.GetChargingRate() >= 1f);
                        updateParam.markerScale      = markerScale;
                        updateParam.validElementType = targetPoint7.param.validElementType;
                        if (self.isArrowAimLesserMode)
                        {
                            updateParam.isMultiLockMax = self.isMultiLockMax();
                        }
                        targetMarker = null;
                        for (int num14 = 0; num14 < markersTemp.Count; num14++)
                        {
                            if (markersTemp[num14].point == updateParam.targetPoint)
                            {
                                targetMarker = markersTemp[num14];
                                markersTemp.RemoveAt(num14);
                                break;
                            }
                        }
                        if (targetMarker == null)
                        {
                            paramList.Add(updateParam);
                        }
                        else if (!flag4)
                        {
                            flag4 = targetMarker.UpdateMarker(updateParam);
                            if (self.isArrowAimLesserMode && self.spAttackType == SP_ATTACK_TYPE.SOUL && targetMarker.point == self.targetingPoint)
                            {
                                MultiLockMarker multiLockMarker = null;
                                if (fieldMultiLockDic.ContainsKey(targetPoint7))
                                {
                                    multiLockMarker = fieldMultiLockDic[targetPoint7];
                                }
                                else
                                {
                                    multiLockMarker = targetMarker.GetMultiLock();
                                    fieldMultiLockDic.Add(targetPoint7, multiLockMarker);
                                }
                                self.CheckMultiLock(multiLockMarker);
                            }
                        }
                        num12++;
                    }
                }
            }
            int num15 = 0;
            for (int count4 = paramList.Count; num15 < count4; num15++)
            {
                targetMarker = null;
                if (markersTemp.Count > 0)
                {
                    targetMarker = markersTemp[0];
                    markersTemp.RemoveAt(0);
                }
                else
                {
                    targetMarker = new TargetMarker(base._transform);
                    markers.Add(targetMarker);
                }
                if (!flag4)
                {
                    targetMarker.UpdateMarker(paramList[num15]);
                }
            }
            if (markersTemp.Count > 0)
            {
                for (int num16 = 0; num16 < markersTemp.Count; num16++)
                {
                    markersTemp[num16].UnableMarker();
                }
            }
            for (int num17 = 0; num17 < numTargetInfo; num17++)
            {
                targetInfoList[num17].enemy       = null;
                targetInfoList[num17].targetPoint = null;
            }
            numTargetInfo = 0;
            if (MonoBehaviourSingleton <StageObjectManager> .I.boss != null && updateShadowSealingFlag)
            {
                MonoBehaviourSingleton <StageObjectManager> .I.boss.CountShadowSealingTarget();

                updateShadowSealingFlag = false;
                MonoBehaviourSingleton <StageObjectManager> .I.boss.CheckCounterRegion();
            }
        }
    }
    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;
            }
        }
    }