Selaa lähdekoodia

删除attackInfo旧的参数,将Behit分类为仅造成伤害和造成伤害且附加效果两类

wgl 6 kuukautta sitten
vanhempi
commit
53b82ba12d

+ 1 - 1
ActionTowerDefense/Assets/Scripts/Boss/Boss.cs

@@ -148,7 +148,7 @@ public class Boss : MoveCharacter
         curCategory = categories[0];
     }
 
-    public override void BeHit(int damage, Vector3 force, bool changeHurt, float repelValue)
+    public override void BeHit(int damage)
     {
         if (restWeaknessNum == 0)
         {

+ 2 - 2
ActionTowerDefense/Assets/Scripts/Boss/Weakness.cs

@@ -20,7 +20,7 @@ public class Weakness : Character
         beSearchTrigger = GetComponent<BeSearchTrigger>();
     }
 
-    public override void BeHit(int damage, Vector3 force, bool changeHurt, float repelValue)
+    public override void BeHit(int damage)
     {
         if (!boss.isChangeState)
         {
@@ -34,7 +34,7 @@ public class Weakness : Character
                     return;
                 }
             }
-            boss.BeHit(damage, force, changeHurt, repelValue);
+            boss.BeHit(damage);
         }
     }
 

+ 1 - 2
ActionTowerDefense/Assets/Scripts/Boss/YuMenGuan/Block.cs

@@ -162,12 +162,11 @@ public class Block : Character
         }
     }
 
-    public override void BeHit(int damage, Vector3 force, bool changeHurt, float repelValue)
+    public override void BeHit(int damage)
     {
         if (hitTrigger.attackerID == 2)
         {
             rb.velocity = Vector3.zero;
-            rb.AddForce(force.x * backForceRate, 0, 0);
             ChangeAttackState(State.back);
             return;
         }

+ 1 - 1
ActionTowerDefense/Assets/Scripts/Boss/YuMenGuan/LaserHit.cs

@@ -40,7 +40,7 @@ public class LaserHit : MonoBehaviour
             pastTime = 0;
             foreach (Character c in continueHit)
             {
-                c.BeHit(damage, Vector3.zero, false, 0);
+                c.BeHit(damage);
                 if (c.debugAttackFrom)
                 {
                     c.DebugAttackFrom("Boss_YuMenGuan", damage);

+ 0 - 10
ActionTowerDefense/Assets/Scripts/Characters/AttackController.cs

@@ -31,13 +31,6 @@ public class AttackInfo
     public Vector3 attackDir;
     public AttackEffect[] attackEffect;
 
-    //¾ÉµÄ²ÎÊýÔÝʱÁô×Å
-    public float force;
-    public bool changeHurt;
-    public float repelValue;
-
-    public bool canBlowUp;
-
     //Ư¸¡
     [Serializable]
     public struct FloatState
@@ -144,9 +137,6 @@ public class AttackInfo
     {
         ai.damage = damage;
         ai.attackDir = attackDir;
-        ai.force = force;
-        ai.changeHurt = changeHurt;
-        ai.repelValue = repelValue;
         ai.blowUp = blowUp;
         ai.shotDown = shotDown;
         ai.stun = stun;

+ 2 - 2
ActionTowerDefense/Assets/Scripts/Characters/BeHitTrigger.cs

@@ -19,9 +19,9 @@ public class BeHitTrigger : MonoBehaviour
         
     }
 
-    public void BeHit(int damage, Vector3 force, bool changeHurt, float repelValue)
+    public void BeHit(int damage)
     {
-        owner.BeHit(damage, force, changeHurt, repelValue);
+        owner.BeHit(damage);
     }
     public void BeHit(AttackInfo attackInfo,float dir)
     {

+ 3 - 31
ActionTowerDefense/Assets/Scripts/Characters/Character.cs

@@ -157,40 +157,12 @@ public class Character : MonoBehaviour
         Debug.Log(attackFrom + "对" + gameObject.name + "使用了" + damage.ToString() + "点伤害的攻击");
     }
 
-    public virtual void BeHit(int damage, Vector3 force, bool changeHurt, float repelValue)
+    //仅造成伤害
+    public virtual void BeHit(int damage)
     {
-        //无敌状态下免伤
-        if (invincibleTime > 0)
-        {
-            return;
-        }
-
-        //非无敌状态扣血
-        hp -= damage;
-
-        //伤害跳字
-        if (showInjuryNum)
-        {
-            GameObject injuryNum = Instantiate(injuryNumText);
-            injuryNum.transform.position = new Vector3(transform.position.x + Random.Range(-1f, 1f), transform.position.y + 1, transform.position.z);
-            TextMeshProUGUI text = injuryNum.GetComponentInChildren<TextMeshProUGUI>();
-            text.text = damage.ToString();
-            if (gameObject.CompareTag("Player"))
-            {
-                text.color = Color.red;
-            }
-        }
-
-        uiHp.Show(hp, totalHp);
-        if (hp <= 0)
-        {
-            if (!canNotAddForce)
-                rb.AddForce(force);
-            ChangeState(CharacterState.Die);
-            return;
-        }
     }
 
+    //造成伤害附加其他效果
     public virtual void BeHit(AttackInfo attackInfo, float dir)
     {
 

+ 1 - 1
ActionTowerDefense/Assets/Scripts/Characters/Enemy.cs

@@ -496,7 +496,7 @@ public class Enemy : MoveCharacter
             case CharacterState.Coma:
                 if (willBeComa)
                 {
-                    BeHit(comaDamage, Vector3.zero, false, 0);
+                    BeHit(comaDamage);
                 }
                 //ani.Play("Coma", 0, 0);
                 ani.Play("weak", 0, 0);

+ 4 - 91
ActionTowerDefense/Assets/Scripts/Characters/MoveCharacter.cs

@@ -41,8 +41,6 @@ public class MoveCharacter : Character
     [HideInInspector]
     public float newTotalWeakTime;
     public float weakHitRate = 2;
-    [HideInInspector]
-    public Vector3 weakForce;
 
     [Header("易伤减伤")]
     public float easyToGetHit = 0.2f;
@@ -354,29 +352,9 @@ public class MoveCharacter : Character
         canNotChangeHurt = false;
     }
 
-    public override void BeHit(int damage, Vector3 force, bool changeHurt, float repelValue)
+    //仅造成伤害
+    public override void BeHit(int damage)
     {
-        if (isInvisible)
-        {
-            return;
-        }
-        if (invincibleTime > 0)
-        {
-            return;
-        }
-
-        //漂浮易伤
-        if (isFloat)
-        {
-            damage = (int)((1 + easyToGetHit) * damage);
-        }
-
-        //伤害减免
-        if (isDamageReduction)
-        {
-            damage = (int)((1 - reductionDegree) * damage);
-        }
-
         hp -= damage;
 
         //伤害跳字
@@ -401,41 +379,8 @@ public class MoveCharacter : Character
         if (hp <= 0)
         {
             ChangeState(CharacterState.Die);
-            if (!canNotAddForce)
-            {
-                weakForce = force;
-            }
-            else
-            {
-                weakForce = Vector3.zero;
-            }
             return;
         }
-        if (canNotChangeHurt)
-        {
-            return;
-        }
-        
-        if (changeHurt)
-        {
-            beRepelValue -= repelValue;
-            //if (state == CharacterState.Weak)
-            //{
-            //    if (!canNotAddForce)
-            //    {
-            //        rb.AddForce(force * weakHitRate);
-            //        ChangeState(CharacterState.Weak);
-            //    }
-            //}
-            //else if (beRepelValue <= 0)
-            //{
-            //    if (!canNotAddForce)
-            //    {
-            //        rb.AddForce(force);
-            //    }
-            //    ChangeState(CharacterState.Weak);
-            //}
-        }
 
         if (gameObject.layer == 6)  //屏幕红闪+抖动
         {
@@ -451,6 +396,7 @@ public class MoveCharacter : Character
         }
     }
 
+    //造成伤害附加其他效果
     public override void BeHit(AttackInfo attackInfo, float dir)
     {
         if (attackInfo.attackEffect.Length > 0)
@@ -512,41 +458,8 @@ public class MoveCharacter : Character
         if (hp <= 0)
         {
             ChangeState(CharacterState.Die);
-            if (!canNotAddForce)
-            {
-                weakForce = attackInfo.attackDir * attackInfo.force;
-            }
-            else
-            {
-                weakForce = Vector3.zero;
-            }
             return;
         }
-        if (canNotChangeHurt)
-        {
-            return;
-        }
-
-        //if (changeHurt)
-        //{
-        //    beRepelValue -= repelValue;
-        //    //if (state == CharacterState.Weak)
-        //    //{
-        //    //    if (!canNotAddForce)
-        //    //    {
-        //    //        rb.AddForce(force * weakHitRate);
-        //    //        ChangeState(CharacterState.Weak);
-        //    //    }
-        //    //}
-        //    //else if (beRepelValue <= 0)
-        //    //{
-        //    //    if (!canNotAddForce)
-        //    //    {
-        //    //        rb.AddForce(force);
-        //    //    }
-        //    //    ChangeState(CharacterState.Weak);
-        //    //}
-        //}
 
         if (gameObject.layer == 6)  //屏幕红闪+抖动
         {
@@ -569,7 +482,7 @@ public class MoveCharacter : Character
         if(sustainedInjuryTime >= sustainedInjury_IntervalTime)
         {
             sustainedInjuryTime = 0;
-            BeHit(sustainedInjury_damage, Vector3.zero,false,0);
+            BeHit(sustainedInjury_damage);
         }
     }
 

+ 1 - 1
ActionTowerDefense/Assets/Scripts/Conduct/AngryBulletSelf.cs

@@ -14,7 +14,7 @@ public class AngryBulletSelf : MonoBehaviour
             Enemy en = other.GetComponentInParent<Enemy>();
             ab.ens[ab.curTimes] = en;
             int damage = ab.damage + (int)(ab.realDamage * en.totalHp);
-            en.BeHit(damage, Vector3.zero, false, 0);
+            en.BeHit(damage);
             ab.curTimes++;
             if (ab.curTimes == ab.maxTimes)
             {

+ 2 - 2
ActionTowerDefense/Assets/Scripts/Conduct/BigSoldier.cs

@@ -79,9 +79,9 @@ public class BigSoldier : Demonic
         Init();
     }
 
-    public override void BeHit(int damage, Vector3 force, bool changeHurt, float repelValue)
+    public override void BeHit(int damage)
     {
-        base.BeHit(damage, force, changeHurt, repelValue);
+        base.BeHit(damage);
         if (hp <= nextRefHP && hp > 0)
         {
             TranSize_HP();

+ 2 - 2
ActionTowerDefense/Assets/Scripts/Conduct/WavePowerSkill.cs

@@ -133,7 +133,7 @@ public class WavePowerSkill : MonoBehaviour
                         if (curHitTime >= hitIntervalTime)
                         {
                             curHitTime = 0;
-                            singleTarget.BeHit(damage, Vector3.zero, false, 0);
+                            singleTarget.BeHit(damage);
                         }
                         curMinDis += longSpeed * Time.deltaTime;
                     }
@@ -151,7 +151,7 @@ public class WavePowerSkill : MonoBehaviour
                         if (curHitTime >= hitIntervalTime)
                         {
                             curHitTime = 0;
-                            ene.BeHit(damage, Vector3.zero, false, 0);
+                            ene.BeHit(damage);
                         }
                     }
                 }

+ 1 - 1
ActionTowerDefense/Assets/Scripts/Portal/CoreCharacter.cs

@@ -35,7 +35,7 @@ public class CoreCharacter : Character
         }
     }
 
-    public override void BeHit(int damage, Vector3 force, bool changeHurt, float repelValue)
+    public override void BeHit(int damage)
     {
         hp -= damage;
         uiHp.Show(hp, totalHp);

+ 2 - 2
ActionTowerDefense/Assets/Scripts/Spirits/SoulBoom.cs

@@ -49,7 +49,7 @@ public class SoulBoom : MonoBehaviour
                         Vector3 pos2 = transform.position;
                         target = (pos1 - pos2).normalized;
                         characters[i].BeHit
-                            (attackInfo.damage, target * attackInfo.force, true, attackInfo.repelValue);
+                            (attackInfo.damage);
                         if (characters[i].debugAttackFrom)
                         {
                             characters[i].DebugAttackFrom(owner.name, attackInfo.damage);
@@ -101,7 +101,7 @@ public class SoulBoom : MonoBehaviour
             Tower tower = other.GetComponentInParent<Tower>();
             if (canHitTower && tower != null)
             {
-                tower.BeHit(attackInfo.damage, attackInfo.force* Vector3.zero,attackInfo.changeHurt,attackInfo.repelValue);
+                tower.BeHit(attackInfo.damage);
             }
         }
         

+ 2 - 2
ActionTowerDefense/Assets/Scripts/SystemReflect/SingleScreenBorder.cs

@@ -30,13 +30,13 @@ public class SingleScreenBorder : MonoBehaviour
                 force.x = -force.x;
             }
             ene.isBeReboundedX = true;
-            ene.BeHit(ene.wallDamage, force, false, 0);
+            ene.BeHit(ene.wallDamage);
             return;
         }
         if (isUp && vel.y > 0 || isDown && vel.y < 0)
         {
             ene.isBeReboundedY = true;
-            ene.BeHit(ene.wallDamage, sc.forceY, false, 0);
+            ene.BeHit(ene.wallDamage);
             return;
         }
         return;

+ 1 - 1
ActionTowerDefense/Assets/Scripts/Tower/EnemyTower.cs

@@ -126,7 +126,7 @@ public class EnemyTower : Character
         }
     }
 
-    public override void BeHit(int damage, Vector3 force, bool changeHurt, float repelValue)
+    public override void BeHit(int damage)
     {
         hp -= damage;
 

+ 1 - 1
ActionTowerDefense/Assets/Scripts/Tower/Tower.cs

@@ -131,7 +131,7 @@ public class Tower : Character
         }
     }
 
-    public override void BeHit(int damage, Vector3 force, bool changeHurt, float repelValue)
+    public override void BeHit(int damage)
     {
         hp -= damage;