//表演後 private void DoAfterPerformance1(Pfm1CallBackFunc callBackFunc = null) { _pfm1CallBackFunc = null; _pfm1CallBackFunc = callBackFunc; Debug.Log("DoAfterPerformance1"); if(_pfm1CallBackFunc != null) { _pfm1CallBackFunc(); } }
// 表演前 private void DoBeforePerformance1(Pfm1CallBackFunc callBackFunc = null) { _pfm1CallBackFunc = null; _pfm1CallBackFunc = callBackFunc; /* HelpInfo 成績資訊(int[0]:藍色, int[1]:綠色, int[2]:紫色, int[3]:紅色) 位置(0:左上,1:右上,2:左下,3:右下) */ // 隱藏所有頭像組 for (byte posTag = 0; posTag < Sct_DEFCONST.LAVA_AMOUNT_MAX; posTag++) { SettingUI(posTag,false); } lavaIdOnPos.Clear(); lavaGetRoseAmount.Clear(); //設定顯示頭像和記錄資料 for (int lavaTag = 0; lavaTag < Sct_DEFCONST.LAVA_AMOUNT_MAX; lavaTag++) { bool joinGame = isJoinGame[lavaTag]; if(joinGame)//有加入遊戲 { int posID = lavaPos[lavaTag];//位置ID SettingUI(posID,true); int lavaId = lavaTag+1; string caterpillarNamePrefix = string.Format("Png_Score_Caterpillar0{0}-",lavaId); string caterpillarBody = string.Format("Png_Score_CaterpillarBody-0{0}",lavaId); string roseCloundNamePrefix = string.Format("Png_Score_Rose_"); SettingLavaUI(posID,caterpillarNamePrefix,caterpillarBody,roseCloundNamePrefix); SettingRoseNumber(posID,"0","0"); lavaIdOnPos.Add(posID,lavaTag);//記錄位置ID 對應的 蟲蟲ID lavaGetRoseAmount.Add(lavaTag,0);//初始化累積玫瑰數量 } } if(_pfm1CallBackFunc != null) { _pfm1CallBackFunc(); } }
//表演 private IEnumerator DoPerformance1(Pfm1CallBackFunc callBackFunc = null) { _pfm1CallBackFunc = null; _pfm1CallBackFunc = callBackFunc; int allRoseAmount = roseNum[0] + roseNum[1] + roseNum[2] + roseNum[3];//要送出多少次玫瑰花 int giveAmount = 0;//已經送出的數量 while(giveAmount < allRoseAmount) { //要送的位置 posID++; if(posID > Sct_DEFCONST.LAVA_AMOUNT_MAX-1)posID = 0; //判斷這個位置有沒有蟲 if(lavaIdOnPos.ContainsKey(posID) == false) continue; //判斷這隻蟲蟲是否已經拿完了 int lavaID = lavaIdOnPos[posID]; if(lavaGetRoseAmount.ContainsKey(lavaID) == false) { Debug.LogError("Error: lavaID is not exist in lavaGetRoseAmount!"); break; } if(lavaGetRoseAmount[lavaID] >= roseNum[lavaID])continue; SettingRoseMoveEndPos(posID);//設定玫瑰花移動的終點 yield return new WaitForSeconds(0.1f); _bushAni.Reset(); _roseTweenControl.PlayMoveAni(DoLavaInfoAni); yield return new WaitForSeconds(0.1f); lavaGetRoseAmount[lavaID]++; giveAmount++; //string info = string.Format("allRoseAmount{0},GiveAmount:{1},posID{2}",allRoseAmount,giveAmount,posID); //Debug.Log(info); } yield return new WaitForSeconds(1.0f); if(_pfm1CallBackFunc != null) { _pfm1CallBackFunc(); } }