예제 #1
0
    //----------------------------------------------------------------------------

    /*!
     *          @brief	進化先のユニット情報検索
     *          @note
     */
    //----------------------------------------------------------------------------
    static public void SearchEvolList(uint unBaseUnitId, bool bAfter)
    {
        // 進化前情報を取得
        MasterDataParamCharaEvol[] cBaseUnitData = MasterDataUtil.GetCharaEvolParamFromCharaListID(unBaseUnitId, bAfter);

        bool bNewUnitId = true;

        if (cBaseUnitData != null)
        {
            for (int i = 0; i < cBaseUnitData.Length; i++)
            {
                if (cBaseUnitData[i] != null)
                {
                    uint unID = 0;

                    if (bAfter)
                    {
                        unID = cBaseUnitData[i].unit_id_after;
                    }
                    else
                    {
                        unID = cBaseUnitData[i].unit_id_pre;
                    }


                    // すでにリストに同じユニット情報があるかチェック
                    for (int j = 0; j < m_EvolBaseUnitIdList.GetLength(); j++)
                    {
                        if (m_EvolBaseUnitIdList[j] == unID)
                        {
                            bNewUnitId = false;
                            break;
                        }
                    }

                    // リストに追加されてないIDなら登録し再検索
                    if (bNewUnitId == true)
                    {
                        // 追加されてないユニット情報を追加
                        m_EvolBaseUnitIdList.Add(unID);

                        // 再検索
                        SearchEvolList(unID, bAfter);
                    }
                }
            }
        }
    }