/// <summary> /// 設定盆栽顯示(目前走演出流程,此方法用不到了) /// </summary> private void setScoreUI(GameObject gameObj, int rankNum, int lavaNum, bool getCrown, bool isButterfly, int roseNum) { ScoreObj uiItem = new ScoreObj(gameObj); //皇冠 uiItem.crown.SetActive(getCrown); //翅膀 uiItem.wing.SetActive(isButterfly); if(isButterfly) { UISprite rightWingSprite = uiItem.wing.transform.Find ("Sprite_RightWing").GetComponent<UISprite>(); UISprite leftWingSprite = uiItem.wing.transform.Find ("Sprite_LeftWing").GetComponent<UISprite>(); rightWingSprite.spriteName = getWing(lavaNum); leftWingSprite.spriteName = getWing(lavaNum); rightWingSprite.MakePixelPerfect(); leftWingSprite.MakePixelPerfect(); } //蟲蟲頭像 uiItem.lavaHead.spriteName = getLavaHead(lavaNum); uiItem.lavaHead.MakePixelPerfect(); //分數 uiItem.roseTensNum.spriteName = "Png_Score_numbers_" + roseNum / 10; uiItem.roseUintsNum.spriteName = "Png_Score_numbers_" + roseNum % 10; #region 玫瑰花排列 /********************************* *Step1.按照順序排出七顆 *Step2.依照得到的數量做顯示,如果數量大於七顆 就在按照順序換顏色 *P.S 每七顆為一組 *********************************/ //Step1 GameObject[] roseObj = new GameObject[7]; for(int roseTag = 1; roseTag <= 7; roseTag++) { roseObj[roseTag-1] = cloneObj(uiItem.rose); roseObj[roseTag-1].transform.localPosition = getRoseLocalPos(roseTag); roseObj[roseTag-1].SetActive(false);//先隱藏 再來依據得到的玫瑰數座顯示 } //Step2 for(int roseTag = 1; roseTag <= roseNum; roseTag++) { /************************* * 判斷介於哪個區域 * 數量1~7顆在區域0 * 數量8~14顆在區域1 * 數量15~21顆在區域2 * 數量22~28顆在區域3 *************************/ int AreaNum = 0; if(roseTag > 0) { if(roseTag > 7) { if(roseTag > 14) { if(roseTag > 21) { AreaNum = 3; } else { AreaNum = 2; } } else { AreaNum = 1; } } else { AreaNum = 0; } } int rose = (roseTag-1) - (roseObj.Length * AreaNum); //判斷哪個位置的玫瑰花要做改變 if(rose > 6)rose = 6;//暫時用這個防止超過28顆玫瑰會錯誤的問題 UISprite roseSprite = roseObj[rose].transform.Find("Sprite_Rose").GetComponent<UISprite>(); if(roseTag > 0) { if(roseTag > 7) { if(roseTag > 14) { if(roseTag > 21) { roseObj[rose].SetActive(true); roseSprite.spriteName = getRoseSpriteName(4); } else { roseObj[rose].SetActive(true); roseSprite.spriteName = getRoseSpriteName(3); } } else { roseObj[rose].SetActive(true); roseSprite.spriteName = getRoseSpriteName(2); } } else { roseObj[rose].SetActive(true); roseSprite.spriteName = getRoseSpriteName(1); } } } #endregion }
/// <summary> /// 表演前UI準備 /// </summary> private void InitUI() { scoreRoseItemList.Clear(); scoreUiItemList.Clear(); int joinAmount = _rankData.Count; if(joinAmount == 1 || joinAmount > 4) { Debug.LogError("Error:參加人數最少2人最多4人[錯誤參加人數" + joinAmount + "]"); return; } for(int scoreObjTag = 1;scoreObjTag <= joinAmount; scoreObjTag++) { /******************************* *Step1.設定物件位置 *Step2.設定物件顯示 *Step3.設定物件隱藏 *Step4.隱藏回MENU按鈕 *Step5.記錄到List *******************************/ // Step1.設定物件位置 GameObject scoreObj = cloneObj(_scoreObj); GameObject[] roseObj = new GameObject[7]; if(joinAmount == 2) { if(scoreObjTag == 1) scoreObj.transform.localPosition = new Vector3(-130,0,0); else if(scoreObjTag == 2) scoreObj.transform.localPosition = new Vector3(130,0,0); } else if(joinAmount == 3) { if(scoreObjTag == 1) scoreObj.transform.localPosition = new Vector3(-380,0,0); else if(scoreObjTag == 2) scoreObj.transform.localPosition = new Vector3(-130,0,0); else if(scoreObjTag == 3) scoreObj.transform.localPosition = new Vector3(130,0,0); } else if(joinAmount == 4) { if(scoreObjTag == 1) scoreObj.transform.localPosition = new Vector3(-380,0,0); else if(scoreObjTag == 2) scoreObj.transform.localPosition = new Vector3(-130,0,0); else if(scoreObjTag == 3) scoreObj.transform.localPosition = new Vector3(130,0,0); else if(scoreObjTag == 4) scoreObj.transform.localPosition = new Vector3(380,0,0); } // Step2.設定物件顯示 ScoreObj uiItem = new ScoreObj(scoreObj); // 翅膀設定 UISprite rightWingSprite = uiItem.wing.transform.Find ("Sprite_RightWing").GetComponent<UISprite>(); UISprite leftWingSprite = uiItem.wing.transform.Find ("Sprite_LeftWing").GetComponent<UISprite>(); rightWingSprite.spriteName = getWing(_rankData[scoreObjTag].lavaNum); leftWingSprite.spriteName = getWing(_rankData[scoreObjTag].lavaNum); rightWingSprite.MakePixelPerfect(); leftWingSprite.MakePixelPerfect(); // 頭像設定 uiItem.lavaHead.spriteName = getLavaHead(_rankData[scoreObjTag].lavaNum); uiItem.lavaHead.MakePixelPerfect(); // 數字設定 uiItem.roseTensNum.spriteName = "Png_Score_numbers_0"; uiItem.roseUintsNum.spriteName = "Png_Score_numbers_0"; // 玫瑰花設定 for(int roseTag = 1; roseTag <= 7; roseTag++) { roseObj[roseTag-1] = cloneObj(uiItem.rose); roseObj[roseTag-1].transform.localPosition = getRoseLocalPos(roseTag); } // Step3.設定物件隱藏 uiItem.crown.SetActive(false); uiItem.wing.SetActive(false); uiItem.lavaHead.alpha = 0.0f; uiItem.roseTensNum.alpha = 0.0f; uiItem.roseUintsNum.alpha = 0.0f; uiItem.plant.alpha = 0.0f; for(int roseTag = 1; roseTag <= 7; roseTag++) { roseObj[roseTag-1].SetActive(false); } //Step4.隱藏回MENU按鈕 _btn_Menu.SetActive(false); //Step5.記錄到List scoreRoseItemList.Add(roseObj); scoreUiItemList.Add(uiItem); } }