Exemple #1
0
 public override void SquareEvent(DungeonManager dm)
 {
     Debug.Log("階段イベント発生");
     //階段イベント処理
     dm.ElapseTurn();
     dm.MoveScene(E_DungeonScene.SelectAction);
 }
Exemple #2
0
 public override void SquareEvent(DungeonManager dm)
 {
     Debug.Log("回復の泉イベント発生");
     HealHp(dm);
     dm.ElapseTurn();
     dm.MoveScene(E_DungeonScene.SelectAction);
 }
Exemple #3
0
    /// <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);
    }
Exemple #4
0
 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);
 }
Exemple #5
0
    /// <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);
    }
Exemple #6
0
    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);
        }
    }
Exemple #7
0
 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();
     }
 }