public override void SquareEvent(DungeonManager dm) { Debug.Log("階段イベント発生"); //階段イベント処理 dm.ElapseTurn(); dm.MoveScene(E_DungeonScene.SelectAction); }
public override void SquareEvent(DungeonManager dm) { Debug.Log("回復の泉イベント発生"); HealHp(dm); dm.ElapseTurn(); dm.MoveScene(E_DungeonScene.SelectAction); }
/// <summary> /// 宝箱を開ける処理。(全てのリストが1以上要素を持つ前提) /// </summary> private void OpenCursedTreasureChest(DungeonManager dm) { if (UnityEngine.Random.Range(0f, 1f) > dm.SuccessRateOfUnlockTreasureChest) { Debug.Log("宝箱の解除に失敗した"); /* あるいは鍵がかかっていないものも用意or成功率を宝箱ごとにわける */ dm.MoveScene(E_DungeonScene.SelectAction); return; } 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); }
public override void SquareEvent(DungeonManager dm) { Debug.Log("罠イベント発生"); if (UnityEngine.Random.Range(0f, 1f) > dm.EvadeTrapRate) { dm.GetTrapped(); } else { Debug.Log("罠を回避した"); } dm.ElapseTurn(); dm.MoveScene(E_DungeonScene.SelectAction); }
/// <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); }
public override void SquareEvent(DungeonManager dm) { switch (this.currentScene) { case E_ShopScene.FirstSet: Debug.Log("店イベント発生"); InitSet(); ChooseSoldItems(); dm.NeedAnnounce = true; this.currentScene = E_ShopScene.SelectItem; break; case E_ShopScene.SelectItem: if (!this.finishFirstSet) { this.currentScene = E_ShopScene.FirstSet; return; } if (dm.NeedAnnounce) { ShowSoldItem(dm); } InputSelectItem(dm); break; case E_ShopScene.BuyOrNot: if (dm.NeedAnnounce) { ShowBuyOrNot(dm); } InputBuyOrNot(dm); break; } if (Input.GetKeyDown(KeyCode.Backspace)) { Debug.Log("店を出た"); InitSet(); dm.ElapseTurn(); dm.MoveScene(E_DungeonScene.SelectAction); } }
private void SetSelectItemIndex(DungeonManager dm) { this.selectItemIndex = -1; for (int i = 0; i < this.isBought.Length; i++) { if (!this.isBought[i]) { this.selectItemIndex = i; break; } } if (this.selectItemIndex == -1) { Debug.Log("販売できる商品はありません"); Debug.Log("店を出た"); //マスイベント終了処理 dm.ElapseTurn(); dm.MoveScene(E_DungeonScene.SelectAction); InitSet(); } }