Beispiel #1
0
    /// <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
    }
Beispiel #2
0
    /// <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);
        }
    }