コード例 #1
0
    // 現在のノーツと攻撃する為のノーツが合っているか見比べる
    public void MatchAttackRecipe(int nowCost)
    {
        // マッチしたか比較する為のノーツレシピを保持する変数
        string mathcAttackNotes = "00";
        // マッチした場合にレートを一時的に保持する変数
        string matchRate = "00";

        // 設定したCSVの中身を変数に保持
        m_csvDatas = m_csvHolder.CSVDatas;

        for (int i = 1; i < m_csvDatas.Count; i++)
        {
            // i = 行,Data_Column.ATK_NOTES = 列
            mathcAttackNotes = m_csvDatas[i][(int)Data_Column.ATK_NOTES];
            int attackNum = System.Convert.ToInt32(mathcAttackNotes);
            if (attackNum != 0)
            {
                // 生成されたノーツの番号とCSVのデータを比較
                if (m_notesInstance.SearchInstanceNotes() == attackNum)
                {
                    int nowAbility = System.Convert.ToInt32(m_csvDatas[i][(int)Data_Column.ATK_COST]);
                    if (nowCost >= nowAbility)
                    {
                        // 一致していたレシピが回復でなければ攻撃
                        if (m_notesInstance.SearchInstanceNotes() != 111111)
                        {
                            // 技の名前をクリーチャーに教える
                            m_pCreature_Script.AbiltyName = m_csvDatas[i][(int)Data_Column.ATK_NAME];

                            // 技のレートをクリーチャーに教える
                            matchRate = m_csvDatas[i][(int)Data_Column.ATK_RATE];
                            m_pCreature_Script.Rate = System.Convert.ToInt32(matchRate);
                        }
                        else if (m_notesInstance.SearchInstanceNotes() == 111111)
                        {
                            // 技のレートをクリーチャーに教える
                            matchRate = m_csvDatas[i][(int)Data_Column.ATK_RATE];
                            m_pCreature_Script.Rate = System.Convert.ToInt32(matchRate);
                            // 回復する
                            m_pCreature_Script.Heal();
                        }
                        // 技の名前を表示する
                        m_abilityNameUI_Script.DrawStringAttackName(m_csvDatas[i][(int)Data_Column.ATK_NAME], 100);
                    }
                    else
                    {
                        // 技の名前を表示する
                        m_abilityNameUI_Script.DrawStringAttackName("コストが足りません", 100);
                    }
                    // UI の動作 //
                    // コスト消費
                    m_costUI_Script.CostDawn(System.Convert.ToInt32(m_csvDatas[i][(int)Data_Column.ATK_COST]));
                    // 攻撃指示が完了したフラグ
                    m_attackCompFlag = true;
                }
            }
        }
    }
コード例 #2
0
    // Update is called once per frame
    void Update()
    {
        m_sliderCompnent.value = m_nowValue;
        m_costText.NowCost     = m_nowValue;
        int minValue = 10;

        if (m_recoveryFlag != true)
        {
            if (m_attackRecipeManegerScrit.csvDatas != null)
            {
                if (!m_captureDrum.CaptureMode)
                {
                    for (int i = 1; i < m_attackRecipeManegerScrit.csvDatas.Count; i++)
                    {
                        if (minValue > int.Parse(m_attackRecipeManegerScrit.csvDatas[i][4]))
                        {
                            minValue = int.Parse(m_attackRecipeManegerScrit.csvDatas[i][4]);
                        }
                    }
                }
                else
                {
                    minValue = 0;
                }

                if (m_nowValue < minValue)
                {
                    m_recoveryFlag = true;
                }
            }
            else
            {
                if (m_nowValue <= 0)
                {
                    m_recoveryFlag = true;
                }
            }
        }

        if (GageEnd() == true)
        {
            m_attackAbilityNameUIScrit.DrawStringAttackName("コスト回復中\n(連打で回復速度UP)", 50);
            GageRecovery(m_waitTime);
        }
    }