/// <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("ランダムの見た目を同期"); } } }
//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; } }