/// <summary> /// 宝箱を開ける処理。ランダムでアイテムかモンスター戦闘。(アイテム獲得処理は参照渡しのため修正が必要かも) /// </summary> /// <param name="dm">DungeonManager</param> private void OpenChest(DungeonManager dm) { switch (UnityEngine.Random.Range(0, 9)) { case 0: case 1: DungeonActiveItem daItem = this.mayAppearDungeonActiveItems[UnityEngine.Random.Range(0, this.mayAppearDungeonActiveItems.Count)]; Debug.Log(daItem.EffectName + "を入手した"); dm.HaveDungeonActiveItems.Add(daItem); break; case 2: case 3: DungeonPassiveItem dpItem = this.mayAppearDungeonPassiveItems[UnityEngine.Random.Range(0, this.mayAppearDungeonPassiveItems.Count)]; Debug.Log(dpItem.EffectName + "を入手した"); dm.AddDungeonPassiveItem(dpItem); break; case 4: case 5: BattleActiveItem baItem = this.mayAppearBattleActiveItems[UnityEngine.Random.Range(0, this.mayAppearBattleActiveItems.Count)]; Debug.Log(baItem.EffectName + "を入手した"); dm.HaveBattleActiveItems.Add(baItem); break; case 6: case 7: BattlePassiveItem bpItem = this.mayAppearBattlePassiveItems[UnityEngine.Random.Range(0, this.mayAppearBattlePassiveItems.Count)]; Debug.Log(bpItem.EffectName + "を入手した"); dm.HaveBattlePassiveItems.Add(bpItem); break; case 8: BattleCharacter enemy = Instantiate(this.mayAppearEnemy[UnityEngine.Random.Range(0, this.mayAppearEnemy.Count)], dm.EnemysRootObject.transform); Debug.Log(enemy.CharaClass.CharaName + "が出現した"); dm.Enemys = new List <BattleCharacter>() { enemy }; dm.MoveBattleScene(); return; } dm.ElapseTurn(); dm.MoveScene(E_DungeonScene.SelectAction); }