Пример #1
0
        /// <summary>
        /// モン娘の種族名を取得する。
        /// 種族名だけのDBは無いので、メモリアルに表示するテキストから抽出する。
        /// </summary>
        /// <param name="cardMstId">マスターID</param>
        /// <returns>種族名</returns>
        public static String GetCardMessageRaceName(Int32 cardMstId)
        {
            CardMessageMstData cardMsgMstData = GetCardMessageMstDataMemorial(cardMstId);

            if (cardMsgMstData != null)
            {
                string text = cardMsgMstData.text;

                // 種族名が記載されている文字列の位置を検索する
                const string SEARCH_START_TEXT = "種族:";
                Int32        searchIndex       = text.IndexOf(SEARCH_START_TEXT);
                if (0 <= searchIndex)
                {
                    Int32 raceNameStartIndex = searchIndex + SEARCH_START_TEXT.Length;

                    // 種族名の記載が終了する位置を検索する
                    const string SEARCH_END_TEXT  = "\\n";
                    Int32        raceNameEndIndex = text.IndexOf(SEARCH_END_TEXT, raceNameStartIndex);
                    if (0 <= raceNameEndIndex)
                    {
                        // 種族名を抽出する
                        Int32  raceNameLength = raceNameEndIndex - raceNameStartIndex;
                        string raceName       = text.Substring(raceNameStartIndex, raceNameLength);
                        return(raceName);
                    }
                }
            }

            return("-----");
        }
Пример #2
0
        /// <summary>
        /// メモリアルで表示するメッセージ情報を取得する
        /// </summary>
        /// <param name="cardMstId">マスターID</param>
        /// <returns>メッセージ情報</returns>
        public static CardMessageMstData GetCardMessageMstDataMemorial(Int32 cardMstId)
        {
            // メモリアルに表示されるテキストはこの番号が割り振られている
            const int MESSAGE_TYPE_MEMORIAL = 2410;

            CardMessageMstData findData = DBCardMessageMst.CardMessageMstDatas.Find(
                delegate(CardMessageMstData inData)
            {
                return(inData.messageType == MESSAGE_TYPE_MEMORIAL &&
                       inData.cardMstId == cardMstId);
            }
                );

            return(findData);
        }
Пример #3
0
        /// <summary>
        /// AFMからパースする
        /// </summary>
        public static void Parse(FluorineFx.ASObject bodyAsObject)
        {
            Object cardMessageMstObj = null;
            if (bodyAsObject.TryGetValue("cardMessageMst", out cardMessageMstObj))
            {
                Object[] cardMessageMstObjs = (Object[])cardMessageMstObj;
                if (cardMessageMstObjs != null)
                {
                    CardMessageMstDatas.Clear();
                    for (int i = 0; i < cardMessageMstObjs.Length; ++i)
                    {
                        FluorineFx.ASObject asObj = cardMessageMstObjs[i] as FluorineFx.ASObject;
                        if (asObj != null)
                        {
                            CardMessageMstData data = new CardMessageMstData();
                            data.Parse(asObj);

                            CardMessageMstDatas.Add(data);
                        }
                    }
                }
            }
        }
Пример #4
0
        /// <summary>
        /// AFMからパースする
        /// </summary>
        public static void Parse(FluorineFx.ASObject bodyAsObject)
        {
            Object cardMessageMstObj = null;

            if (bodyAsObject.TryGetValue("cardMessageMst", out cardMessageMstObj))
            {
                Object[] cardMessageMstObjs = (Object[])cardMessageMstObj;
                if (cardMessageMstObjs != null)
                {
                    CardMessageMstDatas.Clear();
                    for (int i = 0; i < cardMessageMstObjs.Length; ++i)
                    {
                        FluorineFx.ASObject asObj = cardMessageMstObjs[i] as FluorineFx.ASObject;
                        if (asObj != null)
                        {
                            CardMessageMstData data = new CardMessageMstData();
                            data.Parse(asObj);

                            CardMessageMstDatas.Add(data);
                        }
                    }
                }
            }
        }