Beispiel #1
0
        /**
         * バイナリログのログID情報を読み込む
         *
         */
        private LogIDs ReadLogIDsBin(UFileStream fs)
        {
            LogIDs _logIds = new LogIDs();

            // 件数取得
            int size = fs.GetInt32();

            for (int i = 0; i < size; i++)
            {
                // 1件分のログを取得
                LogID logId = new LogID();

                // ID
                logId.ID = fs.GetUInt32();

                // 名前
                logId.Name = fs.GetSizeString();

                // 色
                logId.Color = fs.GetUInt32();

                // アイコン画像名
                // 画像はアイコン画像を読み込んでから設定する
                logId.ImageName = fs.GetSizeString();

                _logIds.Add(logId);
            }

            return(_logIds);
        }
Beispiel #2
0
        // Methods
        public bool Add(UInt32 id, string name, UInt32 color, UInt32 frameColor = 0xFF000000)
        {
            LogID logId = new LogID(id, name, color, frameColor);

            logIDs.Add(logId);
            return(true);
        }
Beispiel #3
0
        /**
         * LogID情報を取得する
         */
        private LogIDs GetLogIDsText(StreamReader sr)
        {
            LogIDs _logIDs = new LogIDs();

            while (!sr.EndOfStream)
            {
                string line = sr.ReadLine().Trim();
                Dictionary <string, string> fields = SplitLineStr(line, ',', ':');

                if (fields.Count == 0)
                {
                    continue;
                }

                // 終了判定
                if (line.Equals("</logid>"))
                {
                    break;
                }

                // レーン情報を取得
                LogID logID = new LogID();

                foreach (KeyValuePair <string, string> kvp in fields)
                {
                    // keyとvalueに分割
                    if (kvp.Value != null)
                    {
                        switch (kvp.Key)
                        {
                        case "id":
                            UInt32 id;
                            if (UInt32.TryParse(kvp.Value, out id))
                            {
                                logID.ID = id;
                            }
                            break;

                        case "name":
                            logID.Name = kvp.Value;
                            break;

                        case "color":
                            // FF001122 のような16進数文字列を整数値に変換
                            logID.Color = Convert.ToUInt32(kvp.Value, 16);
                            break;

                        case "image":
                            logID.Image = images.GetImage(kvp.Value);
                            break;
                        }
                    }
                }
                _logIDs.Add(logID);
            }
            return(_logIDs);
        }
Beispiel #4
0
 public void Add(LogID logId)
 {
     logIDs.Add(logId);
 }