public override IEnumerator Loop1(int Select_Level_number) { int number = Select_Level_number - 1; IEnumerator e = null; for (int i = 0; i < LevelParameter [number].GetLength(0); i++) { var Loop = LevelParameter [number] [i, 0]; var map = CT1.Get_arrangement(LevelParameter [number] [i, 1]); var random = LevelParameter [number] [i, 2]; e = Loop2(Loop, random, map); yield return(StartCoroutine(e)); if ((int)e.Current != 0) { break; } } yield return(e.Current); //回傳至GameLoop }
public override IEnumerator Loop2(params object[] args) { var Loop = (int)args [0]; var random = (int)args [1]; var step = (int)args [2]; var mapIndex = (int)args [3]; CT1.useL1DB.random = random; mCamera.Step(step); int CheckCode = 0; if (!CT1.useL1DB.start) { for (int j = 0; j <= mapIndex; j++) { yield return(StartCoroutine(LevelManagement(CT1.Get_arrangement(j)))); } } for (int i = 0; i < Loop; i++) { //隨機亂數 yield return(StartCoroutine(MakeRandom(CT1.useL1DB.random))); //亮燈 yield return(StartCoroutine(ShowLight())); //答案比對 yield return(StartCoroutine(AnswerCompare())); //重置 yield return(StartCoroutine(Reset())); if (CT1.Feedback()) { CheckCode = 1; break; } if (CT1.IfTimeOut) { CheckCode = 2; break; } } yield return(CheckCode); //回傳至Loop1 }
public override IEnumerator Loop2(params object[] args) { var number = (int)args [0]; //只抓取陣列第一筆資料 var Loop = LevelParameter [number] [0, 0, 1]; var CameraStep = LevelParameter [number] [0, 0, 4]; mCamera.Step(CameraStep); //設定camera距離 //用來使群組能順逆轉 int dirCount = 0; int dir = 1; int random = 0; for (int i = 0; i < LevelParameter [number].GetLength(0); i++) { for (int j = 0; j < LevelParameter [number].GetLength(1); j++) //每次都從第一個開始 一直跑到最後 { var mode = LevelParameter [number] [i, j, 0]; var map = CT1.Get_arrangement(LevelParameter [number] [i, j, 2]); random = LevelParameter [number] [i, j, 3]; CT1.useL1DB.random = random; yield return(StartCoroutine(LevelManagement(mode, Forward_OR_Reverse(ref dir, ref dirCount), map))); } } IEnumerator e = Loop3(Loop); yield return(StartCoroutine(e)); yield return(e.Current); //回傳至Loop1 }