public void ClearAllDanmu(bool getScore) { for (int i = state.Danmus.Count - 1; i >= 0; i--) { Danmu danmu = state.Danmus[i]; danmu.OnDestroy(); state.Danmus.Remove(danmu); mUICtrl.ShowDanmuEffect(danmu.transform.position); if (danmu.isBad) { GainScore(-2); } else { GainScore(1); } } for (int i = state.SuperDanmus.Count - 1; i >= 0; i--) { if (state.SuperDanmus[i].HasDisapeared) { continue; } state.SuperDanmus[i].Disappear(); } state.SuperDanmus.Clear(); mUICtrl.ClearSuperDanmu(); }
public void DestroyBadRandomly(int num) { List <Danmu> toClean = randomPickBadDanmu(num); for (int i = 0; i < toClean.Count; i++) { Danmu danmu = toClean[i]; danmu.OnDestroy(); state.Danmus.Remove(danmu); GainScore(10); } }
public void DestroyDanmu(Danmu danmu) { if (!danmu.isBad) { GainScore(danmu.isBig ? 3 : 1); danmu.view.Content.color = Color.gray; danmu.view.Hengfu.raycastTarget = false; mUICtrl.ShowDanmuEffect(danmu.transform.position); } else { danmu.OnDestroy(); state.Danmus.Remove(danmu); } }