|
|
@@ -56,9 +56,10 @@ public class YuMenGuan : Boss
|
|
|
public Transform wave1pos;
|
|
|
public Transform wave2pos;
|
|
|
public float launchDelayTime1, launchDelayTime1loop, launchDelayTime2;
|
|
|
+ public float[] waveEnlargeScale;
|
|
|
public Vector3 wave1Size;
|
|
|
public Vector3[] wave2Size;
|
|
|
- public float intervalTime; //三连冲击波,每个冲击波发射的间隔时间
|
|
|
+ public float[] intervalTime; //三连冲击波,每个冲击波发射的间隔时间
|
|
|
private List<Bullet> wave1Pool = new List<Bullet>();
|
|
|
private List<Bullet> wave2Pool = new List<Bullet>();
|
|
|
private int[] hasNum; //池中已有的数量
|
|
|
@@ -130,7 +131,7 @@ public class YuMenGuan : Boss
|
|
|
for (int i = 0; i < need; i++)
|
|
|
{
|
|
|
GameObject g;
|
|
|
- g = Instantiate(prefab, Vector3.zero, new Quaternion(0, 0, 0, 0), transform);
|
|
|
+ g = Instantiate(prefab, Vector3.zero, new Quaternion(0, 0, 0, 0), null);
|
|
|
g.SetActive(false);
|
|
|
pool.Add(g.GetComponent<Bullet>());
|
|
|
hasNum[(int)id] += 1;
|
|
|
@@ -242,6 +243,8 @@ public class YuMenGuan : Boss
|
|
|
usedWave1.Add(wv2);
|
|
|
wv1.GetComponent<WaveShockDir>().IsLeft = true;
|
|
|
wv2.GetComponent<WaveShockDir>().IsLeft = false;
|
|
|
+ wv1.GetComponent<WaveShockDir>().scale = waveEnlargeScale[curStateId];
|
|
|
+ wv2.GetComponent<WaveShockDir>().scale = waveEnlargeScale[curStateId];
|
|
|
wv1.GetComponent<WaveShockDir>().CheckTurn();
|
|
|
wv2.GetComponent<WaveShockDir>().CheckTurn();
|
|
|
wv1.BeShoot(this, wave1pos.position, dir1, wave1Damage.damage, wave1Damage.force, wave1Damage.changeHurt, wave1Damage.repelValue, false);
|
|
|
@@ -261,6 +264,8 @@ public class YuMenGuan : Boss
|
|
|
usedWave2.Add(wv2);
|
|
|
wv1.GetComponent<WaveShockDir>().IsLeft = true;
|
|
|
wv2.GetComponent<WaveShockDir>().IsLeft = false;
|
|
|
+ wv1.GetComponent<WaveShockDir>().scale = waveEnlargeScale[curStateId];
|
|
|
+ wv2.GetComponent<WaveShockDir>().scale = waveEnlargeScale[curStateId];
|
|
|
wv1.GetComponent<WaveShockDir>().CheckTurn();
|
|
|
wv2.GetComponent<WaveShockDir>().CheckTurn();
|
|
|
wv1.BeShoot(this, wave1pos.position, dir1, wave2Damage[index].damage, wave2Damage[index].force, wave2Damage[index].changeHurt, wave2Damage[index].repelValue, false);
|
|
|
@@ -343,8 +348,8 @@ public class YuMenGuan : Boss
|
|
|
waveTime = 0;
|
|
|
ani.Play("yumenguan_smash_double", 0, 0);
|
|
|
Invoke("ToLaunchWave2", launchDelayTime2);
|
|
|
- Invoke("ToLaunchWave2", intervalTime + launchDelayTime2);
|
|
|
- Invoke("ToLaunchWave2", intervalTime * 2 + launchDelayTime2);
|
|
|
+ Invoke("ToLaunchWave2", intervalTime[curStateId] + launchDelayTime2);
|
|
|
+ Invoke("ToLaunchWave2", intervalTime[curStateId] * 2 + launchDelayTime2);
|
|
|
isWave2 = true;
|
|
|
break;
|
|
|
default:
|