public void UpdateByTargetPoint(TargetPoint targetPoint, string effectName) { //IL_002f: Unknown result type (might be due to invalid IL or missing references) //IL_0034: Unknown result type (might be due to invalid IL or missing references) //IL_0036: Unknown result type (might be due to invalid IL or missing references) //IL_003b: Unknown result type (might be due to invalid IL or missing references) //IL_003c: Unknown result type (might be due to invalid IL or missing references) //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_0056: 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_005d: Unknown result type (might be due to invalid IL or missing references) //IL_0062: 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_006a: Unknown result type (might be due to invalid IL or missing references) if (effectTransform == null) { effectTransform = EffectManager.GetEffect(effectName, transform); } Transform cameraTransform = MonoBehaviourSingleton <InGameCameraManager> .I.cameraTransform; Vector3 targetPoint2 = targetPoint.GetTargetPoint(); Vector3 val = cameraTransform.get_position() - targetPoint2; Vector3 pos = val.get_normalized() * targetPoint.scaledMarkerZShift + targetPoint2; Quaternion rotation = cameraTransform.get_rotation(); effectTransform.Set(pos, rotation); }
void Update() { if (AimEnabled) { point = Camera.main.ScreenPointToRay(Input.mousePosition); int layerMask = (1 << 8); if (Physics.Raycast(point, out pointHit, 10000, layerMask)) { TargetPoint targetPoint = pointHit.transform.gameObject.GetComponentInChildren <TargetPoint> (); targetIndicator.transform.position = targetPoint.GetTargetPoint().position; targetIndicator.SetActive(true); Target = targetPoint.GetTargetPoint(); } else { targetIndicator.SetActive(false); Target = null; } } }
public void Update() { //IL_003b: 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_004c: Unknown result type (might be due to invalid IL or missing references) //IL_0051: Unknown result type (might be due to invalid IL or missing references) BrainParam.SensorParam sensorParam = brain.param.sensorParam; Character owner = brain.owner; Vector2 owner_pos2 = owner.positionXZ; Vector2 owner_forward2 = owner.forwardXZ; counter.Clear(); bool isAutoMode = false; TargetPoint actionTargetPoint = null; if (brain.owner is Self) { Self self = brain.owner as Self; isAutoMode = self.isAutoMode; if (isAutoMode) { AutoSelfController autoSelfController = self.controller as AutoSelfController; actionTargetPoint = autoSelfController.actionTargetPoint; } } List <StageObject> targetObjectList = brain.GetTargetObjectList(); targetObjectList.ForEach(delegate(StageObject opponent_obj) { //IL_0045: Unknown result type (might be due to invalid IL or missing references) //IL_004a: Unknown result type (might be due to invalid IL or missing references) //IL_0050: Unknown result type (might be due to invalid IL or missing references) //IL_0055: Unknown result type (might be due to invalid IL or missing references) //IL_0072: Unknown result type (might be due to invalid IL or missing references) //IL_007e: Unknown result type (might be due to invalid IL or missing references) //IL_0083: Unknown result type (might be due to invalid IL or missing references) //IL_0088: Unknown result type (might be due to invalid IL or missing references) //IL_008a: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Unknown result type (might be due to invalid IL or missing references) //IL_0092: 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_0099: Unknown result type (might be due to invalid IL or missing references) //IL_00a6: 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_00b0: Unknown result type (might be due to invalid IL or missing references) //IL_00d1: Unknown result type (might be due to invalid IL or missing references) //IL_00d6: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_0351: Unknown result type (might be due to invalid IL or missing references) //IL_0356: Unknown result type (might be due to invalid IL or missing references) //IL_0383: Unknown result type (might be due to invalid IL or missing references) //IL_0388: Unknown result type (might be due to invalid IL or missing references) //IL_038a: Unknown result type (might be due to invalid IL or missing references) //IL_038c: Unknown result type (might be due to invalid IL or missing references) //IL_0392: Unknown result type (might be due to invalid IL or missing references) //IL_0397: Unknown result type (might be due to invalid IL or missing references) //IL_039c: Unknown result type (might be due to invalid IL or missing references) //IL_03e2: Unknown result type (might be due to invalid IL or missing references) //IL_03e7: Unknown result type (might be due to invalid IL or missing references) //IL_03e9: Unknown result type (might be due to invalid IL or missing references) //IL_03eb: Unknown result type (might be due to invalid IL or missing references) //IL_03f1: Unknown result type (might be due to invalid IL or missing references) //IL_03f6: Unknown result type (might be due to invalid IL or missing references) //IL_03fb: Unknown result type (might be due to invalid IL or missing references) //IL_0408: Unknown result type (might be due to invalid IL or missing references) //IL_042c: Unknown result type (might be due to invalid IL or missing references) //IL_042f: Unknown result type (might be due to invalid IL or missing references) //IL_043f: Unknown result type (might be due to invalid IL or missing references) //IL_0444: Unknown result type (might be due to invalid IL or missing references) //IL_0446: Unknown result type (might be due to invalid IL or missing references) //IL_044b: Unknown result type (might be due to invalid IL or missing references) //IL_044e: Unknown result type (might be due to invalid IL or missing references) //IL_0453: Unknown result type (might be due to invalid IL or missing references) Character character = opponent_obj as Character; if (!(character != null) || !character.isDead) { OpponentRecord opponentRecord = FindOrRegist(opponent_obj); bool flag = opponentRecord.record != null; Vector3 client_pos; if (flag) { client_pos = opponentRecord.record.pos; } else { client_pos = Vector3.get_zero(); opponentRecord.record = new RecordData(); } RecordData record = opponentRecord.record; record.pos = owner.GetTargetPosition(opponent_obj); Vector2 val = record.pos.ToVector2XZ(); Vector2 p = val - owner_pos2; Vector2 p2 = val - brain.frontPositionXZ; record.distance = p.get_magnitude(); record.distanceFront = p2.get_magnitude(); record.rootAngle = Utility.Angle360(owner_forward2, p); record.frontAngle = Utility.Angle360(owner_forward2, p2); record.isView = false; if (record.distanceFront <= sensorParam.viewDistance) { float num = (record.frontAngle + sensorParam.viewAngle / 2f) % 360f; if (num < sensorParam.viewAngle) { record.isView = true; counter.viewNum++; } } record.place = AIUtility.GetPlaceOfAngle360(record.rootAngle); switch (record.place) { case PLACE.RIGHT: counter.rightNum++; break; case PLACE.LEFT: counter.leftNum++; break; case PLACE.FRONT: counter.frontNum++; break; case PLACE.BACK: counter.backNum++; break; } record.isNearPlace = false; if (record.distance <= sensorParam.nearCheckDistance) { record.isNearPlace = true; counter.nearNum++; } float num2 = record.distance - brain.rootInternalRedius; switch (record.place) { case PLACE.FRONT: num2 -= brain.rootFrontDistance; break; case PLACE.BACK: num2 -= brain.rootBackDistance; break; } if (num2 < sensorParam.shortDistance) { record.distanceType = DISTANCE.SHORT_SHORT; } else if (num2 >= sensorParam.shortDistance && num2 < sensorParam.middleDistance) { record.distanceType = DISTANCE.SHORT; } else if (num2 >= sensorParam.middleDistance && num2 < sensorParam.longDistance) { record.distanceType = DISTANCE.MIDDLE; } else { record.distanceType = DISTANCE.LONG; } Vector3 val2 = record.pos; float attackPosDistance = record.distance; if (isAutoMode) { if (actionTargetPoint != null) { val2 = actionTargetPoint.GetTargetPoint(); Vector2 val3 = val2.ToVector2XZ() - owner_pos2; attackPosDistance = val3.get_magnitude(); } } else if (owner is Player) { Player player = owner as Player; if (player.targetingPoint != null) { val2 = player.targetingPoint.GetTargetPoint(); Vector2 val4 = val2.ToVector2XZ() - owner_pos2; attackPosDistance = val4.get_magnitude(); } } record.attackPos = val2; record.attackPosDistance = attackPosDistance; record.moveLength = 0f; if (flag) { record.moveLength = AIUtility.GetLengthWithBetweenPosition(client_pos, record.pos); } Vector2 p3 = owner_pos2 - val; float angle = Utility.Angle360(opponent_obj.forwardXZ, p3); record.placeOfOpponent = AIUtility.GetPlaceOfAngle360(angle); } }); }
private void UpdateRegionTarget() { //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_009d: Unknown result type (might be due to invalid IL or missing references) //IL_009f: Unknown result type (might be due to invalid IL or missing references) //IL_00a4: Unknown result type (might be due to invalid IL or missing references) //IL_00ac: Unknown result type (might be due to invalid IL or missing references) //IL_00b1: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Unknown result type (might be due to invalid IL or missing references) //IL_00e5: Unknown result type (might be due to invalid IL or missing references) //IL_00ea: Unknown result type (might be due to invalid IL or missing references) //IL_00ec: Unknown result type (might be due to invalid IL or missing references) //IL_00ee: Unknown result type (might be due to invalid IL or missing references) //IL_00f3: Unknown result type (might be due to invalid IL or missing references) //IL_00f5: Unknown result type (might be due to invalid IL or missing references) //IL_00f7: 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) if (!(player == null)) { player.targetingPointList.Clear(); if (!(player.actionTarget == null)) { Enemy enemy = player.actionTarget as Enemy; if (!(enemy == null) && !enemy.isDead && enemy.enableTargetPoint) { TargetPoint[] targetPoints = enemy.targetPoints; if (targetPoints != null && targetPoints.Length != 0) { TargetPoint targetPoint = null; float num = 3.40282347E+38f; Vector3 position = player._transform.get_position(); Vector2 val = position.ToVector2XZ(); Vector2 forwardXZ = player.forwardXZ; forwardXZ.Normalize(); int i = 0; for (int num2 = targetPoints.Length; i < num2; i++) { TargetPoint targetPoint2 = targetPoints[i]; if (targetPoint2.get_gameObject().get_activeInHierarchy()) { Vector3 targetPoint3 = targetPoint2.GetTargetPoint(); Vector2 val2 = targetPoint3.ToVector2XZ(); Vector2 val3 = val2 - val; float sqrMagnitude = val3.get_sqrMagnitude(); if (targetPoint == null || sqrMagnitude < num) { targetPoint = targetPoint2; num = sqrMagnitude; } } } if (targetPoint != null) { player.targetingPointList.Add(targetPoint); } } } } } }
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(); } } }
private void OnSpecialAttack() { //IL_0073: Unknown result type (might be due to invalid IL or missing references) //IL_00a2: Unknown result type (might be due to invalid IL or missing references) //IL_0203: Unknown result type (might be due to invalid IL or missing references) //IL_020e: Unknown result type (might be due to invalid IL or missing references) //IL_0213: Unknown result type (might be due to invalid IL or missing references) //IL_0218: Unknown result type (might be due to invalid IL or missing references) //IL_022b: Unknown result type (might be due to invalid IL or missing references) //IL_023c: Unknown result type (might be due to invalid IL or missing references) //IL_0247: Unknown result type (might be due to invalid IL or missing references) //IL_024c: Unknown result type (might be due to invalid IL or missing references) //IL_0251: Unknown result type (might be due to invalid IL or missing references) //IL_0264: Unknown result type (might be due to invalid IL or missing references) //IL_0290: Unknown result type (might be due to invalid IL or missing references) //IL_029b: Unknown result type (might be due to invalid IL or missing references) //IL_02a0: Unknown result type (might be due to invalid IL or missing references) //IL_02a5: Unknown result type (might be due to invalid IL or missing references) //IL_02ba: Unknown result type (might be due to invalid IL or missing references) if (!base.self.isActSpecialAction && isChangeableSpecialAction) { base.self.SetEnableTap(true); if (base.self.CheckAttackModeAndSpType(Player.ATTACK_MODE.PAIR_SWORDS, SP_ATTACK_TYPE.HEAT)) { base.self.ActSpecialAction(true, true); } else if (base.self.CheckAttackModeAndSpType(Player.ATTACK_MODE.PAIR_SWORDS, SP_ATTACK_TYPE.SOUL)) { base.self.ActSpecialAction(true, true); this.StartCoroutine(ActSpecialPairSoulSword()); } else if (base.self.CheckAttackModeAndSpType(Player.ATTACK_MODE.ONE_HAND_SWORD, SP_ATTACK_TYPE.SOUL)) { if (!isActSpecialOneSwordSoul) { this.StartCoroutine(ActSpecialOneSwordSoul()); } } else { base.self.ActSpecialAction(true, true); if (base.self.CheckAttackMode(Player.ATTACK_MODE.SPEAR)) { switch (base.self.spAttackType) { case SP_ATTACK_TYPE.HEAT: base.brain.weaponCtrl.SetChargeRate(1f); break; case SP_ATTACK_TYPE.NONE: base.brain.weaponCtrl.SetChargeRate(0.5f); break; default: base.brain.weaponCtrl.SetChargeRate(1f); break; } } else if (base.self.CheckAttackModeAndSpType(Player.ATTACK_MODE.ONE_HAND_SWORD, SP_ATTACK_TYPE.SOUL)) { base.brain.weaponCtrl.SetChargeRate(0.5f); } else { base.brain.weaponCtrl.SetChargeRate(1f); } } } else if (base.self.enableInputCharge && base.self.GetChargingRate() >= base.brain.weaponCtrl.chargeRate) { if (base.self.CheckAttackMode(Player.ATTACK_MODE.SPEAR)) { switch (base.self.spAttackType) { case SP_ATTACK_TYPE.HEAT: if (base.self.targetingPoint != null) { Vector3 spearCursorPos = base.self.targetingPoint.GetTargetPoint() - base.self._position; spearCursorPos.y = 0f; base.self.SetSpearCursorPos(spearCursorPos); } else { Vector3 spearCursorPos2 = actionTargetPoint.GetTargetPoint() - base.self._position; spearCursorPos2.y = 0f; base.self.SetSpearCursorPos(spearCursorPos2); } break; case SP_ATTACK_TYPE.NONE: if (base.self.targetingPoint != null) { Vector3 val = base.self.targetingPoint.GetTargetPoint() - base.self._position; val.y = 0f; base.self.SetLerpRotation(val.get_normalized()); } break; } } base.self.SetEnableTap(false); } }