Ejemplo n.º 1
0
 public override void Initialize(BulletData bullet, SkillInfo.SkillParam _skillInfoParam, Vector3 pos, Quaternion rot)
 {
     //IL_0003: Unknown result type (might be due to invalid IL or missing references)
     //IL_0004: Unknown result type (might be due to invalid IL or missing references)
     base.Initialize(bullet, _skillInfoParam, pos, rot);
     InitParam(bullet.dataHoming);
 }
Ejemplo n.º 2
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());
     }
 }
    public virtual void Initialize(BulletData bullet, SkillInfo.SkillParam skillParam, Vector3 pos, Quaternion rot)
    {
        //IL_0029: Unknown result type (might be due to invalid IL or missing references)
        //IL_002e: Unknown result type (might be due to invalid IL or missing references)
        //IL_002f: Unknown result type (might be due to invalid IL or missing references)
        //IL_0031: Unknown result type (might be due to invalid IL or missing references)
        //IL_0032: Unknown result type (might be due to invalid IL or missing references)
        //IL_0037: Unknown result type (might be due to invalid IL or missing references)
        //IL_0038: Unknown result type (might be due to invalid IL or missing references)
        //IL_003f: Unknown result type (might be due to invalid IL or missing references)
        //IL_0044: Unknown result type (might be due to invalid IL or missing references)
        //IL_004b: Unknown result type (might be due to invalid IL or missing references)
        //IL_0057: Unknown result type (might be due to invalid IL or missing references)
        //IL_0058: 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_0069: Unknown result type (might be due to invalid IL or missing references)
        speed                = bullet.data.speed;
        initialVelocity      = bullet.data.speed;
        bulletSkillInfoParam = skillParam;
        Vector3 forward = Vector3.get_forward();

        forward  = rot * forward;
        forward *= speed;
        _transform.set_position(pos);
        _transform.LookAt(pos + forward);
        _rigidbody.set_velocity(forward);
    }
    public override void OnSkillUse(SkillInfo.SkillParam param)
    {
        switch (missionRequire)
        {
        case MISSION_REQUIRE.ALL:
            skillCount++;
            break;

        case MISSION_REQUIRE.SKILL_ATTACK:
            if (param.tableData.type == SKILL_SLOT_TYPE.ATTACK)
            {
                skillCount++;
            }
            break;

        case MISSION_REQUIRE.SKILL_SUPPORT:
            if (param.tableData.type == SKILL_SLOT_TYPE.SUPPORT)
            {
                skillCount++;
            }
            break;

        case MISSION_REQUIRE.SKILL_HEAL:
            if (param.tableData.type == SKILL_SLOT_TYPE.HEAL)
            {
                skillCount++;
            }
            break;
        }
    }
Ejemplo n.º 5
0
    public bool IsEnable()
    {
        if (this.buttonIndex < 0)
        {
            return(false);
        }
        if (target == null)
        {
            return(false);
        }
        int buttonIndex = this.buttonIndex;

        SkillInfo.SkillParam skillParam = target.skillInfo.GetSkillParam(buttonIndex);
        if (skillParam == null || !skillParam.IsActiveType())
        {
            return(false);
        }
        SelfController selfController = target.controller as SelfController;

        if (selfController == null)
        {
            return(false);
        }
        if (selfController.IsCancelNextNotCancel())
        {
            return(false);
        }
        return(target.IsActSkillAction(buttonIndex));
    }
 private void OnDisappear()
 {
     //IL_0065: 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_0082: Expected O, but got Unknown
     //IL_008f: Unknown result type (might be due to invalid IL or missing references)
     //IL_0095: Expected O, but got Unknown
     //IL_00a0: Unknown result type (might be due to invalid IL or missing references)
     ownerPlayer           = null;
     usePlayer             = null;
     bulletData            = null;
     skillParam            = null;
     cachedPlayerTransform = null;
     cachedTransform       = null;
     if (!object.ReferenceEquals(cachedCollider, null))
     {
         cachedCollider.set_enabled(false);
     }
     cachedCollider = null;
     if (cachedEffectTransform != null && cachedEffectTransform.get_gameObject() != null)
     {
         EffectManager.ReleaseEffect(cachedEffectTransform.get_gameObject(), true, false);
     }
     cachedEffectTransform = null;
     if (!object.ReferenceEquals((object)this.get_gameObject(), null))
     {
         Object.Destroy(this.get_gameObject());
     }
     isInitialized = false;
 }
Ejemplo n.º 7
0
    public void Initialize(int playerId, int decoyId, BulletData bullet, Vector3 position, SkillInfo.SkillParam skill, bool isHit)
    {
        //IL_0085: Unknown result type (might be due to invalid IL or missing references)
        //IL_008a: Expected O, but got Unknown
        //IL_00aa: Unknown result type (might be due to invalid IL or missing references)
        //IL_00b7: Unknown result type (might be due to invalid IL or missing references)
        //IL_00fc: Unknown result type (might be due to invalid IL or missing references)
        //IL_010c: 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_012c: 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_0143: Unknown result type (might be due to invalid IL or missing references)
        //IL_015f: Unknown result type (might be due to invalid IL or missing references)
        //IL_0197: Unknown result type (might be due to invalid IL or missing references)
        if (!MonoBehaviourSingleton <StageObjectManager> .IsValid())
        {
            Log.Error(LOG.INGAME, "StageObjectManager is invalid. Can't initialize DecoyBulletObject.");
        }
        else
        {
            base.objectType = OBJECT_TYPE.DECOY;
            StageObject stageObject = MonoBehaviourSingleton <StageObjectManager> .I.FindPlayer(playerId);

            if (!object.ReferenceEquals(stageObject, null))
            {
                ownerPlayer = (stageObject as Player);
            }
            bulletData      = bullet;
            skillParam      = skill;
            lifeTime        = bulletData.data.appearTime;
            dontHitSec      = bulletData.dataDecoy.dontHitSec;
            cachedTransform = this.get_transform();
            cachedTransform.SetParent(MonoBehaviourSingleton <StageObjectManager> .I._transform);
            cachedTransform.set_position(position);
            cachedTransform.set_localScale(Vector3.get_one());
            if (MonoBehaviourSingleton <EffectManager> .IsValid())
            {
                cachedEffectTransform = EffectManager.GetEffect(bulletData.data.effectName, MonoBehaviourSingleton <EffectManager> .I._transform);
                cachedEffectTransform.set_position(cachedTransform.get_position() + bulletData.data.dispOffset);
                cachedEffectTransform.set_localRotation(Quaternion.Euler(bulletData.data.dispRotation));
            }
            id = decoyId;
            this.get_gameObject().set_name(OBJ_NAME + decoyId);
            this.get_gameObject().set_layer(12);
            ignoreLayerMask |= -1073741824;
            if (!object.ReferenceEquals(ownerPlayer, null) && isHit)
            {
                cachedCollider = this.get_gameObject().AddComponent <SphereCollider>();
                cachedCollider.set_radius(bulletData.data.radius);
                cachedCollider.set_isTrigger(true);
                cachedCollider.set_enabled(true);
                if (!string.IsNullOrEmpty(skillParam.tableData.attackInfoNames[0]))
                {
                    atkInfo = FindAttackInfo(skillParam.tableData.attackInfoNames[0], true, false);
                }
                ownerPlayer.GetAtk(atkInfo as AttackHitInfo, ref exAtk);
            }
            isInitialized = true;
        }
    }
 public override void Initialize(BulletData bullet, SkillInfo.SkillParam _skillInfoParam, Vector3 pos, Quaternion rot)
 {
     //IL_0003: Unknown result type (might be due to invalid IL or missing references)
     //IL_0004: Unknown result type (might be due to invalid IL or missing references)
     base.Initialize(bullet, _skillInfoParam, pos, rot);
     gravityStartTime = bullet.dataFall.gravityStartTime;
     gravityRate      = bullet.dataFall.gravityRate;
 }
 protected virtual void Awake()
 {
     //IL_0014: Unknown result type (might be due to invalid IL or missing references)
     //IL_0019: Expected O, but got Unknown
     timeCount            = 0f;
     bulletSkillInfoParam = null;
     _transform           = this.get_transform();
     _rigidbody           = this.GetComponent <Rigidbody>();
     _collider            = this.GetComponent <Collider>();
 }
Ejemplo n.º 10
0
 public override void Initialize(BulletData bullet, SkillInfo.SkillParam _skillInfoParam, Vector3 pos, Quaternion rot)
 {
     //IL_0003: Unknown result type (might be due to invalid IL or missing references)
     //IL_0004: Unknown result type (might be due to invalid IL or missing references)
     //IL_001d: Unknown result type (might be due to invalid IL or missing references)
     //IL_001e: Unknown result type (might be due to invalid IL or missing references)
     base.Initialize(bullet, _skillInfoParam, pos, rot);
     maxDistance = bullet.dataSnatch.maxDistance;
     startPos    = pos;
     SetState(STATE.FORWARD);
 }
Ejemplo n.º 11
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);
    }
Ejemplo n.º 12
0
 public override void Initialize(BulletData bullet, SkillInfo.SkillParam _skillInfoParam, Vector3 pos, Quaternion rot)
 {
     //IL_0003: Unknown result type (might be due to invalid IL or missing references)
     //IL_0004: Unknown result type (might be due to invalid IL or missing references)
     //IL_0021: Unknown result type (might be due to invalid IL or missing references)
     base.Initialize(bullet, _skillInfoParam, pos, rot);
     if (base.speed <= 0f)
     {
         base._transform.set_localRotation(rot);
     }
     base._rigidbody.set_isKinematic(true);
 }
Ejemplo n.º 13
0
    public void Setup(Player owner, Transform trans, BulletData bullet, SkillInfo.SkillParam skill)
    {
        Initialize(owner, trans, (float)skill.supportValue[0], bullet.data.radius);
        intervalTime = bullet.dataZone.intervalTime;
        AttackHitInfo attackHitInfo = m_attackInfo as AttackHitInfo;

        if (attackHitInfo != null)
        {
            attackHitInfo.atkRate /= (float)Mathf.FloorToInt(skill.supportTime[0] / intervalTime);
        }
        targetCollection.Clear();
    }
Ejemplo n.º 14
0
 public void SetButtonIndex(int button_index)
 {
     this.buttonIndex = button_index + target.skillInfo.weaponOffset;
     if (!(target == null))
     {
         int buttonIndex = this.buttonIndex;
         SkillInfo.SkillParam skillParam = target.skillInfo.GetSkillParam(buttonIndex);
         if (skillParam != null && skillParam.IsActiveType())
         {
             float percent = 1f - target.skillInfo.GetPercentUseGauge(buttonIndex);
             ChengeSkillType(buttonIndex, skillParam.tableData, percent);
         }
     }
 }
Ejemplo n.º 15
0
 public override void Initialize(BulletData bullet, SkillInfo.SkillParam _skillInfoParam, Vector3 pos, Quaternion rot)
 {
     //IL_0003: Unknown result type (might be due to invalid IL or missing references)
     //IL_0004: Unknown result type (might be due to invalid IL or missing references)
     //IL_00b4: Unknown result type (might be due to invalid IL or missing references)
     //IL_00b9: Expected O, but got Unknown
     //IL_00bd: Unknown result type (might be due to invalid IL or missing references)
     //IL_00c3: Unknown result type (might be due to invalid IL or missing references)
     //IL_00ed: Unknown result type (might be due to invalid IL or missing references)
     //IL_00fb: Unknown result type (might be due to invalid IL or missing references)
     //IL_0107: Unknown result type (might be due to invalid IL or missing references)
     //IL_011c: Unknown result type (might be due to invalid IL or missing references)
     //IL_0137: Unknown result type (might be due to invalid IL or missing references)
     //IL_0149: Unknown result type (might be due to invalid IL or missing references)
     //IL_0169: Unknown result type (might be due to invalid IL or missing references)
     //IL_0170: Expected O, but got Unknown
     base.Initialize(bullet, _skillInfoParam, pos, rot);
     m_collider = this.GetComponent <Collider>();
     if (m_collider != null)
     {
         m_collider.set_enabled(false);
     }
     m_bulletObstacleCylinder = bullet.dataObstacleCylinder;
     if (m_bulletObstacleCylinder != null)
     {
         m_rigidbody = this.GetComponent <Rigidbody>();
         if (m_rigidbody != null)
         {
             m_rigidbody.set_useGravity(false);
             m_rigidbody.set_isKinematic(true);
         }
         float num    = (float)(360 / m_bulletObstacleCylinder.colliderNum);
         float num2   = num * 0.0174532924f;
         float radius = m_bulletObstacleCylinder.radius;
         for (int i = 0; i < m_bulletObstacleCylinder.colliderNum; i++)
         {
             GameObject val = new GameObject("Collider");
             val.get_transform().set_parent(this.get_transform());
             float num3 = radius * Mathf.Sin(num2 * (float)(i + 1));
             float num4 = radius * Mathf.Cos(num2 * (float)(i + 1));
             val.get_transform().set_localPosition(new Vector3(num3, 0f, num4));
             val.get_transform().set_localRotation(Quaternion.Euler(0f, num * (float)(i + 1), 0f));
             BoxCollider val2 = val.AddComponent <BoxCollider>();
             val2.set_size(m_bulletObstacleCylinder.size);
             val2.set_center(m_bulletObstacleCylinder.center);
         }
         Utility.SetLayerWithChildren(this.get_transform(), 18);
     }
 }
Ejemplo n.º 16
0
 public override void Initialize(BulletData bullet, SkillInfo.SkillParam _skillInfoParam, Vector3 pos, Quaternion rot)
 {
     //IL_0003: Unknown result type (might be due to invalid IL or missing references)
     //IL_0004: Unknown result type (might be due to invalid IL or missing references)
     //IL_00b2: Unknown result type (might be due to invalid IL or missing references)
     //IL_00b7: Unknown result type (might be due to invalid IL or missing references)
     base.Initialize(bullet, _skillInfoParam, pos, rot);
     curve          = new FloatInterpolator();
     curve.loopType = Interpolator.LOOP.REPETE;
     curve.Set(bullet.dataCurve.loopTime, 0f, bullet.dataCurve.curveAngle, bullet.dataCurve.curveAnim, 0f, null);
     curve.Play();
     curveTime = new FloatInterpolator();
     curveTime.Set(bullet.data.appearTime, 1f, 0f, bullet.dataCurve.timeAnim, 0f, null);
     curveTime.Play();
     curveAxis = bullet.dataCurve.curveAxis;
 }
Ejemplo n.º 17
0
 public override void Initialize(BulletData bullet, SkillInfo.SkillParam _skillInfoParam, Vector3 pos, Quaternion rot)
 {
     //IL_0003: Unknown result type (might be due to invalid IL or missing references)
     //IL_0004: Unknown result type (might be due to invalid IL or missing references)
     base.Initialize(bullet, _skillInfoParam, pos, rot);
     if (bullet.dataBreakable != null)
     {
         moveType   = bullet.dataBreakable.moveType;
         hitCounter = 0;
         breakCount = bullet.dataBreakable.breakCount;
         if (bullet.dataBreakable.isIgnoreHitEnemyAttack)
         {
             ignoreLayerMask |= 40960;
         }
         if (bullet.dataBreakable.isIgnoreHitEnemyBody)
         {
             ignoreLayerMask |= 2048;
         }
         if (bullet.dataBreakable.isIgnoreHitEnemyMove)
         {
             ignoreLayerMask |= 1024;
         }
         if (bullet.dataBreakable.isIgnoreHitAttackable)
         {
             ignoreLayerMask |= -2147483648;
         }
         if (bullet.dataBreakable.isIgnoreHitPlayerBody)
         {
             ignoreLayerMask |= 256;
         }
         if (bullet.dataBreakable.isIgnoreHitPlayerAttack)
         {
             ignoreLayerMask |= 20480;
         }
         if (bullet.dataBreakable.isIgnoreHitWallAndObject)
         {
             ignoreLayerMask |= 393728;
         }
         homingLimit       = bullet.dataToEndurance.limitAngel;
         homingChangeStart = bullet.dataToEndurance.limitChangeStartTime;
         homingChange      = bullet.dataToEndurance.limitChangeAngel;
         hightLock         = bullet.dataToEndurance.hightLock;
         acceleration      = bullet.dataToEndurance.acceleration;
         damageToEndurance = bullet.dataToEndurance.toEnduranceDamage;
     }
 }
 public override void Initialize(BulletData bullet, SkillInfo.SkillParam _skillInfoParam, Vector3 pos, Quaternion rot)
 {
     //IL_0003: Unknown result type (might be due to invalid IL or missing references)
     //IL_0004: Unknown result type (might be due to invalid IL or missing references)
     //IL_0040: Unknown result type (might be due to invalid IL or missing references)
     //IL_004b: Expected O, but got Unknown
     base.Initialize(bullet, _skillInfoParam, pos, rot);
     BulletData.BulletHealingHoming dataHealingHomingBullet = bullet.dataHealingHomingBullet;
     if (dataHealingHomingBullet != null)
     {
         InitParam(dataHealingHomingBullet);
         m_isIgnoreColliderExceptTarget = dataHealingHomingBullet.isIgnoreColliderExceptTarget;
         m_isAlreadyDoneHitProcess      = false;
         m_buffIdList = dataHealingHomingBullet.buffIds;
         Utility.SetLayerWithChildren(this.get_transform(), dataHealingHomingBullet.defaultGenerateLayer);
         m_effectAnimator = this.GetComponentInChildren <Animator>();
     }
 }
    public void OnUpdateSkillInfo()
    {
        Coop_Model_PlayerUpdateSkillInfo coop_Model_PlayerUpdateSkillInfo = new Coop_Model_PlayerUpdateSkillInfo();

        coop_Model_PlayerUpdateSkillInfo.id = base.owner.id;
        SkillInfo.SkillSettingsInfo skillSettingsInfo = new SkillInfo.SkillSettingsInfo();
        int i = 0;

        for (int num = 9; i < num; i++)
        {
            SkillInfo.SkillParam skillParam             = player.skillInfo.GetSkillParam(i);
            SkillInfo.SkillSettingsInfo.Element element = new SkillInfo.SkillSettingsInfo.Element();
            if (skillParam != null)
            {
                element.baseInfo        = skillParam.baseInfo;
                element.useGaugeCounter = skillParam.useGaugeCounter;
            }
            skillSettingsInfo.elementList.Add(element);
        }
        coop_Model_PlayerUpdateSkillInfo.settings_info = skillSettingsInfo;
    }
Ejemplo n.º 20
0
    public override void Initialize(BulletData bullet, SkillInfo.SkillParam skillParam, Vector3 pos, Quaternion rot)
    {
        //IL_00ae: 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_00f6: Unknown result type (might be due to invalid IL or missing references)
        //IL_00f8: 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_00fe: Unknown result type (might be due to invalid IL or missing references)
        //IL_010a: Unknown result type (might be due to invalid IL or missing references)
        //IL_0110: Unknown result type (might be due to invalid IL or missing references)
        //IL_0129: Unknown result type (might be due to invalid IL or missing references)
        //IL_012e: Unknown result type (might be due to invalid IL or missing references)
        //IL_013e: Unknown result type (might be due to invalid IL or missing references)
        //IL_014c: 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)
        base.timeCount            = 0f;
        isEndAccel                = false;
        isLookTarget              = false;
        base.bulletSkillInfoParam = skillParam;
        speed0           = bullet.data.speed;
        speed1           = bullet.data.speed;
        accel            = bullet.dataArrowSoul.accel;
        accelStartTime   = bullet.dataArrowSoul.accelStartTime;
        maxSpeed         = bullet.dataArrowSoul.maxSpeed;
        angularVelocity  = bullet.dataArrowSoul.angularVelocity;
        angularStartTime = bullet.dataArrowSoul.angularStartTime;
        ignoreAngle      = bullet.dataArrowSoul.ignoreAngle;
        base._transform.set_position(pos);
        int     num  = MonoBehaviourSingleton <InGameSettingsManager> .I.player.arrowActionInfo.soulShotDirs.Length;
        int     num2 = Random.Range(0, num - 1);
        Vector3 val  = MonoBehaviourSingleton <InGameSettingsManager> .I.player.arrowActionInfo.soulShotDirs[num2];

        direction = rot * val;
        object transform = (object)base._transform;

        transform.set_position(transform.get_position() - direction * MonoBehaviourSingleton <InGameSettingsManager> .I.player.arrowActionInfo.soulShotDirVec);
        base._transform.set_rotation(rot);
        base._rigidbody.set_velocity(direction * speed0);
    }
Ejemplo n.º 21
0
 protected void SetSkillParam(SkillInfo.SkillParam param)
 {
     m_skillParam = param;
 }
    public void UpdateIndex()
    {
        //IL_00fe: Unknown result type (might be due to invalid IL or missing references)
        //IL_0197: Unknown result type (might be due to invalid IL or missing references)
        if (!(target == null) && target.weaponData != null)
        {
            EquipItemTable.EquipItemData equipItemData = Singleton <EquipItemTable> .I.GetEquipItemData((uint)target.weaponData.eId);

            if (equipItemData != null)
            {
                SkillItemTable.SkillSlotData[] array = equipItemData.GetSkillSlot(target.weaponData.exceed);
                if (!TutorialStep.IsTheTutorialOver(TUTORIAL_STEP.USER_CREATE_02))
                {
                    array = new SkillItemTable.SkillSlotData[1]
                    {
                        new SkillItemTable.SkillSlotData()
                    };
                    array[0].slotType = SKILL_SLOT_TYPE.ATTACK;
                    array[0].skill_id = 0u;
                }
                int num = 0;
                int i   = 0;
                for (int num2 = array.Length; i < num2; i++)
                {
                    if (array[i].slotType != SKILL_SLOT_TYPE.ATTACK && array[i].slotType != SKILL_SLOT_TYPE.SUPPORT && array[i].slotType != SKILL_SLOT_TYPE.HEAL)
                    {
                        num++;
                    }
                }
                int num3 = 0;
                int j    = array.Length - num;
                for (int count = skillButtons.Count; j < count; j++)
                {
                    skillButtons[num3].get_gameObject().SetActive(false);
                    skillButtons[num3].SetButtonIndex(-1);
                    num3++;
                }
                int num4 = 0;
                int k    = 0;
                for (int num5 = array.Length; k < num5; k++)
                {
                    if (num3 >= skillButtons.Count)
                    {
                        break;
                    }
                    if (array[k].slotType == SKILL_SLOT_TYPE.ATTACK || array[k].slotType == SKILL_SLOT_TYPE.SUPPORT || array[k].slotType == SKILL_SLOT_TYPE.HEAL)
                    {
                        skillButtons[num3].get_gameObject().SetActive(true);
                        SkillInfo.SkillParam skillParam = target.skillInfo.GetSkillParam(target.skillInfo.weaponOffset + num4);
                        if (skillParam != null && skillParam.tableData.type == array[k].slotType)
                        {
                            skillButtons[num3].SetButtonIndex(num4);
                            num4++;
                        }
                        else
                        {
                            skillButtons[num3].SetInActiveSlot(array[k].slotType);
                        }
                        num3++;
                    }
                }
            }
        }
    }
Ejemplo n.º 23
0
    public static AtkAttribute CalcPlayerATK(PlayerAtkCalcData calcData)
    {
        AtkAttribute  atkAttribute = new AtkAttribute();
        AttackHitInfo atkInfo      = calcData.atkInfo;

        if (atkInfo != null)
        {
            atkAttribute.Add(atkInfo.atk);
        }
        SkillInfo.SkillParam skillParam = calcData.skillParam;
        if (skillParam != null && atkInfo != null && atkInfo.isSkillReference)
        {
            atkAttribute.Add(skillParam.atk);
        }
        if (atkInfo == null)
        {
            atkAttribute.Add(calcData.weaponAtk);
        }
        else if (atkInfo.IsReferenceAtkValue)
        {
            atkAttribute.Add(calcData.weaponAtk);
        }
        atkAttribute.normal += calcData.statusAtk;
        atkAttribute.Add(calcData.guardEquipAtk);
        float        num           = atkAttribute.normal;
        ELEMENT_TYPE eLEMENT_TYPE  = atkAttribute.GetElementType();
        AtkAttribute atkAttribute2 = new AtkAttribute();

        atkAttribute2.Copy(atkAttribute);
        atkAttribute2.Mul(calcData.passiveAtkRate);
        atkAttribute.Add(atkAttribute2);
        atkAttribute.Add(calcData.passiveAtkConstant);
        if (calcData.passiveAtkAllElementConstant != 0f)
        {
            atkAttribute.AddElementValueWithCheck(calcData.passiveAtkAllElementConstant);
        }
        atkAttribute.CheckMinus();
        AtkAttribute atkAttribute3 = new AtkAttribute();

        atkAttribute3.Copy(atkAttribute);
        atkAttribute3.Mul(calcData.buffAtkRate);
        atkAttribute.Add(atkAttribute3);
        atkAttribute.Add(calcData.buffAtkConstant);
        if (calcData.buffAtkAllElementConstant > 0f)
        {
            atkAttribute.AddElementValueWithCheck(calcData.buffAtkAllElementConstant);
        }
        if (skillParam != null && atkInfo != null && atkInfo.isSkillReference)
        {
            if (skillParam.tableData.skillAtkType == ELEMENT_TYPE.MAX)
            {
                eLEMENT_TYPE = ELEMENT_TYPE.MAX;
            }
            else
            {
                num = 0f;
            }
            atkAttribute.ChangeElementType(skillParam.tableData.skillAtkType);
            atkAttribute.Mul(skillParam.atkRate);
        }
        else if (calcData.isAtkElementOnly && eLEMENT_TYPE != ELEMENT_TYPE.MAX)
        {
            num = 0f;
            atkAttribute.ChangeElementType(eLEMENT_TYPE);
        }
        atkAttribute.CheckMinus();
        if (num > 0f && atkAttribute.normal < 1f)
        {
            atkAttribute.normal = 1f;
        }
        if (eLEMENT_TYPE != ELEMENT_TYPE.MAX && atkAttribute.GetElementType() == ELEMENT_TYPE.MAX)
        {
            atkAttribute.SetTargetElement(eLEMENT_TYPE, 1f);
        }
        return(atkAttribute);
    }
 public void SetSkillParam(SkillInfo.SkillParam skillParam)
 {
     m_skillParam = skillParam;
 }
Ejemplo n.º 25
0
 public void Initialize(StageObject attacker, Transform parent, SkillInfo.SkillParam skillParam, Vector3 pos, Vector3 rot, float height, int attackLayer)
 {
     //IL_0003: Unknown result type (might be due to invalid IL or missing references)
     //IL_0005: Unknown result type (might be due to invalid IL or missing references)
     _Initialize(attacker, parent, pos, rot, height, attackLayer, (float)skillParam.healHp, skillParam.tableData.skillRange);
 }
    }    //IL_0019: Unknown result type (might be due to invalid IL or missing references)

    //IL_001f: Unknown result type (might be due to invalid IL or missing references)
    //IL_0020: Unknown result type (might be due to invalid IL or missing references)


    public void Initialize(Player player, BulletData bullet, Vector3 position, SkillInfo.SkillParam skill, bool isHealDamgeEnemy, bool isOwner)
    {
        //IL_0093: Unknown result type (might be due to invalid IL or missing references)
        //IL_00bb: Unknown result type (might be due to invalid IL or missing references)
        //IL_00c0: Expected O, but got Unknown
        //IL_00c7: Unknown result type (might be due to invalid IL or missing references)
        //IL_00cc: Expected O, but got Unknown
        //IL_00ec: Unknown result type (might be due to invalid IL or missing references)
        //IL_00f8: Unknown result type (might be due to invalid IL or missing references)
        //IL_014e: Unknown result type (might be due to invalid IL or missing references)
        //IL_015e: Unknown result type (might be due to invalid IL or missing references)
        //IL_0163: Unknown result type (might be due to invalid IL or missing references)
        //IL_017e: Unknown result type (might be due to invalid IL or missing references)
        //IL_0183: Unknown result type (might be due to invalid IL or missing references)
        //IL_018e: Unknown result type (might be due to invalid IL or missing references)
        //IL_01d2: Unknown result type (might be due to invalid IL or missing references)
        //IL_0238: Unknown result type (might be due to invalid IL or missing references)
        //IL_023d: Expected O, but got Unknown
        if (!MonoBehaviourSingleton <StageObjectManager> .IsValid())
        {
            Log.Error(LOG.INGAME, "StageObjectManager is invalid. Can't initialize PresentBulletObject.");
        }
        else
        {
            ownerPlayer  = ((!isOwner) ? null : player);
            usePlayer    = player;
            bulletData   = bullet;
            skillParam   = skill;
            healValue    = ((bulletData.dataZone.type == BulletData.BulletZone.TYPE.HEAL) ? skill.supportValue[0] : 0);
            lifeTime     = skill.supportTime[0];
            intervalTime = bullet.dataZone.intervalTime;
            this.get_gameObject().set_name(OBJ_NAME + skill.tableData.id);
            cachedPlayerTransform = player.get_transform();
            cachedTransform       = this.get_transform();
            cachedTransform.SetParent(MonoBehaviourSingleton <StageObjectManager> .I._transform);
            cachedTransform.set_position(position);
            cachedTransform.set_localScale(Vector3.get_one());
            if (MonoBehaviourSingleton <EffectManager> .IsValid())
            {
                cachedEffectTransform = EffectManager.GetEffect(bulletData.data.effectName, MonoBehaviourSingleton <EffectManager> .I._transform);
                if (!object.ReferenceEquals(cachedEffectTransform, null))
                {
                    cachedEffectTransform.set_position(cachedTransform.get_position() + bulletData.data.dispOffset);
                    cachedEffectTransform.set_localRotation(Quaternion.Euler(bulletData.data.dispRotation));
                }
            }
            this.get_gameObject().set_layer(31);
            ignoreLayerMask |= 41984;
            ignoreLayerMask |= 20480;
            ignoreLayerMask |= 2490880;
            cachedCollider   = this.get_gameObject().AddComponent <SphereCollider>();
            cachedCollider.set_radius(bulletData.data.radius);
            cachedCollider.set_isTrigger(true);
            cachedCollider.set_enabled(true);
            validSecCollection.Clear();
            if (isHealDamgeEnemy && healValue > 0)
            {
                GameObject           val = new GameObject(HEALATK_NAME);
                HealAttackZoneObject healAttackZoneObject = val.AddComponent <HealAttackZoneObject>();
                healAttackZoneObject.Setup(ownerPlayer, cachedTransform, bullet, skill);
            }
            isInitialized = true;
        }
    }
Ejemplo n.º 27
0
    protected virtual void SetBulletData(BulletData bullet, SkillInfo.SkillParam _skillParam, Vector3 pos, Quaternion rot)
    {
        //IL_003d: 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_0097: Unknown result type (might be due to invalid IL or missing references)
        //IL_00a8: Unknown result type (might be due to invalid IL or missing references)
        //IL_00b9: Unknown result type (might be due to invalid IL or missing references)
        //IL_00ca: Unknown result type (might be due to invalid IL or missing references)
        //IL_0184: Unknown result type (might be due to invalid IL or missing references)
        //IL_019a: Unknown result type (might be due to invalid IL or missing references)
        //IL_01b0: Unknown result type (might be due to invalid IL or missing references)
        //IL_01c6: Unknown result type (might be due to invalid IL or missing references)
        //IL_01dc: Unknown result type (might be due to invalid IL or missing references)
        //IL_01f2: Unknown result type (might be due to invalid IL or missing references)
        //IL_0208: Unknown result type (might be due to invalid IL or missing references)
        //IL_021e: Unknown result type (might be due to invalid IL or missing references)
        //IL_0234: Unknown result type (might be due to invalid IL or missing references)
        //IL_024a: Unknown result type (might be due to invalid IL or missing references)
        //IL_0260: Unknown result type (might be due to invalid IL or missing references)
        //IL_028d: Unknown result type (might be due to invalid IL or missing references)
        //IL_028e: Unknown result type (might be due to invalid IL or missing references)
        if (!(bullet == null))
        {
            bulletData   = bullet;
            type         = bullet.type;
            appearTime   = bullet.data.appearTime;
            dispOffset   = bulletData.data.dispOffset;
            dispRotation = bulletData.data.dispRotation;
            SetRadius(bullet.data.radius);
            SetCapsuleHeight(bullet.data.capsuleHeight);
            SetCapsuleAxis(bullet.data.capsuleAxis);
            SetScale(bullet.data.timeStartScale);
            SetHitOffset(bullet.data.hitOffset);
            timeStartScale         = bullet.data.timeStartScale;
            timeEndScale           = bullet.data.timeEndScale;
            isCharacterHitDelete   = bullet.data.isCharacterHitDelete;
            isObjectHitDelete      = bullet.data.isObjectHitDelete;
            isLandHit              = bullet.data.isLandHit;
            landHitEfect           = bullet.data.landHiteffectName;
            endBullet              = bullet.data.endBullet;
            isBulletTakeoverTarget = bullet.data.isBulletTakeoverTarget;
            switch (bullet.type)
            {
            case BulletData.BULLET_TYPE.FALL:
                controller = this.get_gameObject().AddComponent <BulletControllerFall>();
                break;

            case BulletData.BULLET_TYPE.HOMING:
                controller = this.get_gameObject().AddComponent <BulletControllerHoming>();
                break;

            case BulletData.BULLET_TYPE.CURVE:
                controller = this.get_gameObject().AddComponent <BulletControllerCurve>();
                break;

            case BulletData.BULLET_TYPE.BREAKABLE:
                controller = this.get_gameObject().AddComponent <BulletControllerBreakable>();
                break;

            case BulletData.BULLET_TYPE.OBSTACLE_CYLINDER:
                controller = this.get_gameObject().AddComponent <BulletControllerObstacleCylinder>();
                break;

            case BulletData.BULLET_TYPE.SNATCH:
                controller = this.get_gameObject().AddComponent <BulletControllerSnatch>();
                break;

            case BulletData.BULLET_TYPE.PAIR_SWORDS_SOUL:
                controller = this.get_gameObject().AddComponent <BulletControllerPairSwordsSoul>();
                break;

            case BulletData.BULLET_TYPE.PAIR_SWORDS_LASER:
                controller = this.get_gameObject().AddComponent <BulletControllerPairSwordsLaser>();
                break;

            case BulletData.BULLET_TYPE.HEALING_HOMING:
                controller = this.get_gameObject().AddComponent <BulletControllerHealingHoming>();
                break;

            case BulletData.BULLET_TYPE.ARROW_SOUL:
                controller = this.get_gameObject().AddComponent <BulletControllerArrowSoul>();
                break;

            default:
                controller = this.get_gameObject().AddComponent <BulletControllerBase>();
                break;
            }
            if (controller != null)
            {
                controller.Initialize(bullet, _skillParam, pos, rot);
                controller.RegisterBulletObject(this);
                switch (bullet.type)
                {
                case BulletData.BULLET_TYPE.SNATCH:
                {
                    BulletControllerSnatch bulletControllerSnatch = controller as BulletControllerSnatch;
                    if (bulletControllerSnatch != null)
                    {
                        bulletControllerSnatch.SetBulletObject(this);
                        bulletControllerSnatch.SetFromObject(stageObject);
                    }
                    break;
                }

                case BulletData.BULLET_TYPE.PAIR_SWORDS_SOUL:
                {
                    IObservable observable = controller as IObservable;
                    if (observable != null)
                    {
                        Player player = stageObject as Player;
                        if (player != null)
                        {
                            observable.RegisterObserver(player.pairSwordsCtrl);
                        }
                    }
                    break;
                }

                case BulletData.BULLET_TYPE.BREAKABLE:
                    RegisterObserver();
                    break;
                }
            }
            Character character = stageObject as Character;
            if (character != null)
            {
                SetTarget(character.actionTarget);
            }
        }
    }
Ejemplo n.º 28
0
    public virtual void Shot(StageObject master, AttackInfo atkInfo, BulletData bulletData, Vector3 pos, Quaternion rot, string exEffectName = null, bool reference_attack = true, AtkAttribute exAtk = null, Player.ATTACK_MODE attackMode = Player.ATTACK_MODE.NONE, DamageDistanceTable.DamageDistanceData damageDistanceData = null, SkillInfo.SkillParam exSkillParam = null)
    {
        //IL_0008: 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_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_00ab: Unknown result type (might be due to invalid IL or missing references)
        //IL_01eb: Unknown result type (might be due to invalid IL or missing references)
        //IL_01ed: Unknown result type (might be due to invalid IL or missing references)
        //IL_0202: Unknown result type (might be due to invalid IL or missing references)
        //IL_02d4: Unknown result type (might be due to invalid IL or missing references)
        //IL_02d9: Unknown result type (might be due to invalid IL or missing references)
        //IL_02f6: Unknown result type (might be due to invalid IL or missing references)
        //IL_02fb: Unknown result type (might be due to invalid IL or missing references)
        //IL_031d: Unknown result type (might be due to invalid IL or missing references)
        //IL_0322: Unknown result type (might be due to invalid IL or missing references)
        //IL_0344: Unknown result type (might be due to invalid IL or missing references)
        //IL_0349: Unknown result type (might be due to invalid IL or missing references)
        //IL_0352: Unknown result type (might be due to invalid IL or missing references)
        //IL_0357: Unknown result type (might be due to invalid IL or missing references)
        //IL_0359: Unknown result type (might be due to invalid IL or missing references)
        //IL_036b: Unknown result type (might be due to invalid IL or missing references)
        Player player = master as Player;

        this.get_gameObject().SetActive(true);
        stageObject  = master;
        m_exAtk      = exAtk;
        m_attackMode = attackMode;
        string text = bulletData.data.GetEffectName(player);

        if (!string.IsNullOrEmpty(exEffectName))
        {
            text = exEffectName;
        }
        if (!string.IsNullOrEmpty(text))
        {
            bulletEffect = EffectManager.GetEffect(text, _transform);
            if (bulletEffect != null)
            {
                bulletEffect.set_localPosition(bulletData.data.dispOffset);
                bulletEffect.set_localRotation(Quaternion.Euler(bulletData.data.dispRotation));
                bulletEffect.set_localScale(Vector3.get_one());
            }
        }
        AttackHitInfo attackHitInfo = atkInfo as AttackHitInfo;

        if (exAtk != null)
        {
            masterAtk = exAtk;
        }
        else if (attackHitInfo != null)
        {
            if (player != null && HasEndBulletSkillIndex)
            {
                int skillIndex = player.skillInfo.skillIndex;
                player.skillInfo.skillIndex = m_endBulletSkillIndex;
                master.GetAtk(attackHitInfo, ref masterAtk);
                player.skillInfo.skillIndex = skillIndex;
            }
            else
            {
                master.GetAtk(attackHitInfo, ref masterAtk);
            }
        }
        masterSkill = null;
        if (player != null)
        {
            if (exSkillParam != null)
            {
                masterSkill = exSkillParam;
            }
            else
            {
                masterSkill = player.skillInfo.actSkillParam;
                if (player.TrackingTargetBullet != null && player.TrackingTargetBullet.IsReplaceSkill && atkInfo.isSkillReference)
                {
                    masterSkill = player.TrackingTargetBullet.SkillParamForBullet;
                }
                if (HasEndBulletSkillIndex)
                {
                    masterSkill = player.GetSkillParam(m_endBulletSkillIndex);
                }
            }
        }
        if (bulletData.data.isEmitGround)
        {
            pos.y = 0f;
        }
        SetBulletData(bulletData, masterSkill, pos, rot);
        if (bulletData.type == BulletData.BULLET_TYPE.OBSTACLE)
        {
            AttackObstacle attackObstacle = this.get_gameObject().AddComponent <AttackObstacle>();
            attackObstacle.Initialize(this as AnimEventShot, bulletData.dataObstacle.colliderStartTime);
        }
        else if (bulletData.type != BulletData.BULLET_TYPE.HEALING_HOMING)
        {
            int layer = (!(master is Player)) ? 15 : 14;
            Utility.SetLayerWithChildren(_transform, layer);
        }
        timeCount = 0f;
        if (MonoBehaviourSingleton <AttackColliderManager> .IsValid())
        {
            colliderProcessor = MonoBehaviourSingleton <AttackColliderManager> .I.CreateProcessor(atkInfo, stageObject, _collider, this, attackMode, damageDistanceData);

            if (reference_attack)
            {
                attackHitChecker = stageObject.ReferenceAttackHitChecker();
            }
            if (bulletData.type == BulletData.BULLET_TYPE.SNATCH || bulletData.type == BulletData.BULLET_TYPE.PAIR_SWORDS_LASER)
            {
                colliderProcessor.ValidTriggerStay();
            }
        }
        Vector3 val = Vector3.get_zero();

        if (_collider is BoxCollider)
        {
            val = (_collider as BoxCollider).get_center();
        }
        else if (_collider is SphereCollider)
        {
            val = (_collider as SphereCollider).get_center();
        }
        else if (_collider is CapsuleCollider)
        {
            val = (_collider as CapsuleCollider).get_center();
        }
        startColliderPos = _transform.get_position() + val;
        isDestroyed      = false;
        prevPosition     = pos;
        if (controller != null)
        {
            controller.OnShot();
        }
    }
 public virtual void OnSkillUse(SkillInfo.SkillParam param)
 {
 }
    }    //IL_0001: Unknown result type (might be due to invalid IL or missing references)

    //IL_0006: Unknown result type (might be due to invalid IL or missing references)


    public void Initialize(StageObject attacker, StageObject target, AttackInfo atkInfo)
    {
        //IL_0124: Unknown result type (might be due to invalid IL or missing references)
        //IL_0129: Unknown result type (might be due to invalid IL or missing references)
        //IL_01fe: Unknown result type (might be due to invalid IL or missing references)
        //IL_0203: Expected O, but got Unknown
        //IL_0236: Unknown result type (might be due to invalid IL or missing references)
        //IL_023b: Unknown result type (might be due to invalid IL or missing references)
        //IL_0254: Unknown result type (might be due to invalid IL or missing references)
        //IL_0259: Unknown result type (might be due to invalid IL or missing references)
        //IL_0261: Unknown result type (might be due to invalid IL or missing references)
        //IL_0266: Unknown result type (might be due to invalid IL or missing references)
        //IL_0276: Unknown result type (might be due to invalid IL or missing references)
        //IL_027b: Unknown result type (might be due to invalid IL or missing references)
        //IL_0288: Unknown result type (might be due to invalid IL or missing references)
        //IL_0293: Unknown result type (might be due to invalid IL or missing references)
        //IL_029d: Unknown result type (might be due to invalid IL or missing references)
        //IL_02a2: Unknown result type (might be due to invalid IL or missing references)
        //IL_02a7: Unknown result type (might be due to invalid IL or missing references)
        //IL_02bb: Unknown result type (might be due to invalid IL or missing references)
        //IL_02c8: Unknown result type (might be due to invalid IL or missing references)
        //IL_02de: Unknown result type (might be due to invalid IL or missing references)
        //IL_02e3: Expected O, but got Unknown
        //IL_02f2: Unknown result type (might be due to invalid IL or missing references)
        //IL_0304: Unknown result type (might be due to invalid IL or missing references)
        //IL_0309: Unknown result type (might be due to invalid IL or missing references)
        //IL_0315: Unknown result type (might be due to invalid IL or missing references)
        //IL_0322: Unknown result type (might be due to invalid IL or missing references)
        //IL_0327: Expected O, but got Unknown
        if (attacker == null)
        {
            RequestDestroy();
        }
        else
        {
            m_atkInfo  = atkInfo;
            m_attacker = attacker;
            m_target   = target;
            if (m_attacker is Player)
            {
                Player player = m_attacker as Player;
                if (player != null)
                {
                    m_attackerPlayer = player;
                    m_attackMode     = player.attackMode;
                }
            }
            if (m_attacker is Enemy)
            {
                Enemy enemy = m_attacker as Enemy;
                if (enemy != null)
                {
                    m_attackerEnemy = enemy;
                }
            }
            BulletData bulletData = null;
            if (atkInfo != null)
            {
                bulletData = atkInfo.bulletData;
            }
            else
            {
                Player player2 = attacker as Player;
                if (player2 != null)
                {
                    AtkAttribute atk = new AtkAttribute();
                    player2.GetAtk(null, ref atk);
                    PlayerAttackAttribute = atk;
                    SkillInfo.SkillParam actSkillParam = player2.skillInfo.actSkillParam;
                    if (actSkillParam != null)
                    {
                        bulletData          = actSkillParam.bullet;
                        m_atkInfoNames      = actSkillParam.tableData.attackInfoNames;
                        SkillParamForBullet = actSkillParam;
                    }
                    if (player2.targetingPoint != null)
                    {
                        m_targetingPoint = player2.targetingPoint.param.targetPos;
                    }
                }
            }
            if (bulletData == null)
            {
                RequestDestroy();
            }
            else
            {
                m_aliveTimer = bulletData.data.appearTime;
                BulletData.BulletTracking dataTracking = bulletData.dataTracking;
                if (dataTracking == null)
                {
                    RequestDestroy();
                }
                else
                {
                    m_trackingData        = dataTracking;
                    m_isDeleted           = false;
                    m_isEmitting          = false;
                    m_moveThreshold       = dataTracking.moveThreshold;
                    m_attackIntervalTimer = dataTracking.attackInterval;
                    m_emitInterval        = dataTracking.emitInterval;
                    m_emissionNum         = dataTracking.emissionNum;
                    if (m_emissionNum > 0)
                    {
                        m_exAtkList       = new AtkAttribute[m_emissionNum];
                        m_moveSpeed       = bulletData.data.speed;
                        m_cachedTransform = this.get_transform();
                        m_cachedTransform.set_parent((!MonoBehaviourSingleton <StageObjectManager> .IsValid()) ? MonoBehaviourSingleton <EffectManager> .I._transform : MonoBehaviourSingleton <StageObjectManager> .I._transform);
                        Vector3 position = Vector3.get_zero();
                        position   = ((m_target != null) ? m_target._position : ((!(m_targetingPoint != Vector3.get_zero())) ? (m_attacker._position + m_attacker._forward * 2f) : m_targetingPoint));
                        position.y = 0f;
                        m_cachedTransform.set_position(position);
                        m_cachedTransform.set_rotation(Quaternion.get_identity());
                        Transform effect = EffectManager.GetEffect(bulletData.data.effectName, this.get_transform());
                        effect.set_localPosition(bulletData.data.dispOffset);
                        effect.set_localRotation(Quaternion.Euler(bulletData.data.dispRotation));
                        effect.set_localScale(Vector3.get_one());
                        m_effectObj      = effect.get_gameObject();
                        m_effectAnimator = m_effectObj.GetComponent <Animator>();
                        RequestMain();
                    }
                    else
                    {
                        Log.Error("BulletTracking.emissionNum is zero!!");
                        RequestDestroy();
                    }
                }
            }
        }
    }