Esempio n. 1
0
    /// <summary>
    /// 見た目ランダム化
    /// </summary>
    public void RandomizeAppear()
    {
        if (gdsm.RoundCount == 0)
        {
            //一回目

            int bodyColorNum;
            int costumeNum;

            //全アイテムから抽選するか、所持アイテムから抽選するか
            if (canAllRandom)
            {
                //全アイテムから抽選(Enemyのみ実行可)
                bodyColorNum = UnityEngine.Random.Range(0, gdsm.GetBColorMatLength); //全アイテムの中から選択
                costumeNum   = UnityEngine.Random.Range(0, costumes.Length);         //全アイテムの中から選択
            }
            else
            {
                //所持アイテムから抽選(プレイヤーでも実行可)
                int i = UnityEngine.Random.Range(0, gdsm.GetUnlockedBodyColorList.Count); //所持アイテムのリストの長さ中から選択
                int j = UnityEngine.Random.Range(0, gdsm.GetUnlockedCostumeList.Count);   //所持アイテムのリストの長さから選択
                bodyColorNum = gdsm.GetUnlockedBodyColorList[i];                          //抽選に出た番号の値を代入
                    costumeNum = gdsm.GetUnlockedCostumeList[j];                          //抽選に出た番号の値を代入
            }


            bodyMesh.material = gdsm.GetMatInfo(bodyColorNum); //ランダムで出た値を設定
            costumes[costumeNum].SetActive(true);              //コスチュームをランダムで設定

            if (this.tag == "Player")
            {
                //プレイヤーなら所持しているコスチュームからランダム、あるいは選択したアイテム番号を保存
                gdsm.ChangeSelectedBodyColor(bodyColorNum);
                gdsm.ChangeSelectedCostume(costumeNum);
            }
            else
            {
                //プレイヤーでないならランダムデータとして設定
                gdsm.SetRandomBodyColorDic(this.name, bodyColorNum); //シーンロードで消えないようにデータ保存
                gdsm.SetRandomCostumeDic(this.name, costumeNum);     //シーンロードで消えないようにデータ保存
            }

            Debug.Log("ランダム外見データを代入");
        }
        else
        {
            //二回目以降
            if (this.tag == "Player")
            {
                bodyMesh.material = gdsm.GetMatInfo(gdsm.GetSelectedBodyColorNum);
                costumes[gdsm.GetSelectedCostumeNum].SetActive(true);
                Debug.Log("プレイヤーの設定した見た目同期");
            }
            else
            {
                bodyMesh.material = gdsm.GetRandomBodyColorDicMaterial(this.name); //ランダムで出た値を取得して設定
                costumes[gdsm.GetRandomCostumeDicNum(this.name)].SetActive(true);  //コスチュームをランダムで設定
                Debug.Log("ランダムの見た目を同期");
            }
        }
    }
Esempio n. 2
0
    //ItemButtonsに設定
    public void CheckCanPurchase(int itemNum)
    {
        switch (choosingItemPanel)
        {
        case Item.BodyColor:

            if (itemNum <= 11)     //11番以前(コモンアイテム)の場合
            {
                //所持してるか確認。
                if (!GDSM_Instance.CheckBodyColorUnlocked(itemNum))
                {
                    //所持金が足りているか確認。
                    if (moneyManager.CheckMoneyAmount(bodyColorPrices[itemNum]))
                    {
                        ActivePurchasePanel(itemNum, moneyManager.GetCurrentMoney, (moneyManager.GetCurrentMoney - bodyColorPrices[itemNum]));
                        Debug.Log("購入可能。パネル表示");
                    }
                    else
                    {
                        moneyManager.NotEnoughtMoneyAnimation();
                        Debug.Log("購入不可。アニメーション再生");
                    }
                }
                else
                {
                    Debug.Log("すでに持ってるアイテムだよ");
                    ChangeBodyColor(itemNum);
                    GDSM_Instance.ChangeSelectedBodyColor(itemNum);     //選択アイテムを変更
                }
            }
            else     //8番以上(レアアイテム)の場合
            {
                //所持してるか確認。
                if (!GDSM_Instance.CheckBodyColorUnlocked(itemNum))
                {
                    //未所持アニメーション再生
                    Debug.Log("持っていないレアアイテムだよ");
                }
                else
                {
                    Debug.Log("すでに持ってるアイテムだよ");
                    ChangeBodyColor(itemNum);
                    GDSM_Instance.ChangeSelectedBodyColor(itemNum);     //選択アイテムを変更
                }
            }

            break;


        case Item.Costume:

            if (itemNum <= 7)     //7番以前(コモンアイテム)の場合
            {
                //所持してるか確認。
                if (!GDSM_Instance.CheckCostumeUnlocked(itemNum))
                {
                    //所持金が足りているか確認
                    if (moneyManager.CheckMoneyAmount(costumePrices[itemNum]))
                    {
                        Debug.Log("購入可能。パネル表示");
                        ActivePurchasePanel(itemNum, moneyManager.GetCurrentMoney, (moneyManager.GetCurrentMoney - costumePrices[itemNum]));
                    }
                    else
                    {
                        moneyManager.NotEnoughtMoneyAnimation();
                        Debug.Log("購入不可。アニメーション再生");
                    }
                }
                else
                {
                    Debug.Log("すでに持ってるアイテムだよ");
                    ChangeCostume(itemNum);
                    GDSM_Instance.ChangeSelectedCostume(itemNum);     //選択アイテムを変更
                }
            }
            else     //8番以上(レアアイテム)の場合
            {
                //所持してるか確認。
                if (!GDSM_Instance.CheckCostumeUnlocked(itemNum))
                {
                    //未所持アニメーション再生
                    Debug.Log("持っていないレアアイテムだよ");
                }
                else
                {
                    Debug.Log("すでに持ってるアイテムだよ");
                    ChangeCostume(itemNum);
                    GDSM_Instance.ChangeSelectedCostume(itemNum);     //選択アイテムを変更
                }
            }
            break;

        default:
            Debug.Log("そんなアイテムジャンルはない");
            break;
        }
    }