private void CreateGraph(uint id) { DamageDistanceTable.DamageDistanceData data = Singleton <DamageDistanceTable> .I.GetData(id); for (int i = 0; i < data.points.Length; i++) { DamageDistanceTable.DamagePoint damagePoint = data.points[i]; CreatePoint(damagePoint); bool flag = i >= data.points.Length - 1; DamageDistanceTable.DamagePoint damagePoint2 = null; if (!flag) { damagePoint2 = data.points[i + 1]; } else if ((float)damagePoint.distance < 30f) { damagePoint2 = new DamageDistanceTable.DamagePoint(); damagePoint2.distance = 30f; damagePoint2.rate = damagePoint.rate; } if (damagePoint2 != null) { CreatePoint(damagePoint2); CreateBar(damagePoint, damagePoint2); } } }
public AttackColliderProcessor CreateProcessor(AttackInfo _attack_info, StageObject _object, Collider _collider, IAttackCollider _collider_interface, Player.ATTACK_MODE attackMode = Player.ATTACK_MODE.NONE, DamageDistanceTable.DamageDistanceData damageDistanceData = null) { AttackColliderProcessor attackColliderProcessor = null; if (_attack_info is AttackHitInfo) { attackColliderProcessor = new AttackHitColliderProcessor(); } else if (_attack_info is AttackContinuationInfo) { attackColliderProcessor = new AttackContinuationColliderProcessor(); } attackColliderProcessor.SetFromInfo(_attack_info, _object, _collider, _collider_interface); attackColliderProcessor.SetAttackMode(attackMode); attackColliderProcessor.SetDamageDistanceData(damageDistanceData); AddProcessor(attackColliderProcessor); return(attackColliderProcessor); }
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 void SetDamageDistanceData(DamageDistanceTable.DamageDistanceData damageDistanceData) { m_damageDistanceData = damageDistanceData; }
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 static AnimEventShot CreateArrow(StageObject stage_object, AttackInfo atk_info, Vector3 pos, Quaternion rot, GameObject attach_object, bool isScaling, string change_effect, DamageDistanceTable.DamageDistanceData damageDistanceData) { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0003: Unknown result type (might be due to invalid IL or missing references) return(Create(stage_object, atk_info, pos, rot, attach_object, isScaling, change_effect, null, null, Player.ATTACK_MODE.NONE, damageDistanceData, null)); }