|
|
@@ -207,6 +207,12 @@ public class Boss : MoveCharacter
|
|
|
{
|
|
|
}
|
|
|
|
|
|
+ //攻击时被强制切换状态,清空所有遗留在外的技能
|
|
|
+ //如:水诡释放黑伞时被击晕,黑伞消失
|
|
|
+ public virtual void ClearAllSkills()
|
|
|
+ {
|
|
|
+ }
|
|
|
+
|
|
|
//切换boss状态(主要针对受击状态等)
|
|
|
public void ChangeBossState(BossState bs)
|
|
|
{
|
|
|
@@ -246,10 +252,8 @@ public class Boss : MoveCharacter
|
|
|
bossState = bs;
|
|
|
switch (bs)
|
|
|
{
|
|
|
- case BossState.normal:
|
|
|
- rb.velocity = Vector3.zero;
|
|
|
- break;
|
|
|
case BossState.weak:
|
|
|
+ ClearAllSkills();
|
|
|
ani.Play("fall", 0, 0);
|
|
|
rb.constraints = RigidbodyConstraints.FreezeRotation | RigidbodyConstraints.FreezePositionZ;
|
|
|
ChangeState(CharacterState.Idle);
|
|
|
@@ -258,10 +262,11 @@ public class Boss : MoveCharacter
|
|
|
rb.useGravity = true;
|
|
|
break;
|
|
|
case BossState.rise:
|
|
|
+ int randomAni = RandomWithWeight(weight);
|
|
|
+ ani.Play(idleAniNames[randomAni], 0, 0);
|
|
|
+ rb.velocity = Vector3.zero;
|
|
|
flyHeight = Random.Range(minFlyHeight, maxFlyHeight);
|
|
|
break;
|
|
|
- case BossState.invincible:
|
|
|
- break;
|
|
|
}
|
|
|
ani.speed = 1;
|
|
|
}
|