public void Balance(List <Vector3> map, bool IgnoreBalanceIsZero = false) { var Balance = Level1_DB.UFOList.Count - map.Count; //多(少)幾台 //extra if (Balance > 0) { UFO.DestroyUFO(Balance); //Destroy幾台 } //lack if (Balance < 0) { UFO.InstantiateUFOs(Mathf.Abs(Balance)); //實例化UFO } //重設場上所有UFO座標 if (!DB.start || !IgnoreBalanceIsZero) { for (int i = 0; i < map.Count; i++) { Level1_DB.UFOList [i].moveTo(1f, (Vector3)map [i], true, 0.1f); } } }
public override IEnumerator LevelManagement(params object[] args) { var map = (List <Vector3>)args [0]; CT1.DisplaySliderBar(); //更新難度條 var Balance = map.Count; //多(少)幾台 List <UFO> Group = UFO.InstantiateUFOs(Balance); //實例化UFO //重設場上所有UFO座標 for (int i = 0; i < Group.Count; i++) { Group [i].moveTo(0.7f, map [i], true, 0.1f); } yield break; }
///關卡設定 public override IEnumerator LevelManagement(params object[] args) { //旋轉模式 var mode = (int)args [0]; //旋轉方向(順或逆) var dir = (int)args [1]; //排列地圖 var maps = (List <Vector3>)args [2]; //更新難度條 CT1.DisplaySliderBar(); //創造旋轉群組 Level1_RotationFix RotateGroup = CT1.CreateGroup(); if (mode == 0) { RotateGroup.direction = dir; } //建置UFO位置 UFO.UFO_group = RotateGroup.transform; var Balance = maps.Count; //多(少)幾台 var Group = UFO.InstantiateUFOs(Balance); //實例化UFO //重設場上所有UFO座標 for (int i = 0; i < Group.Count; i++) { Group [i].moveTo(0.7f, maps [i], true, 0.1f); } yield break; }