/** * 1行分のフィールドからエリアデータを取得する * @input fields: * @output 取得したエリアデータ */ private MemLogArea GetMemAreaText(Dictionary <string, string> fields, MemLogAreaManager manager) { MemLogArea area = new MemLogArea(); // area,name:"area1",parent:"root",color=FF000000, image="icon1" foreach (KeyValuePair <string, string> kvp in fields) { if (kvp.Value != null) { switch (kvp.Key.ToLower()) { case "name": area.Name = kvp.Value; break; case "parent": area.ParentArea = manager.searchArea(kvp.Value); break; case "color": area.Color = Convert.ToUInt32(kvp.Value, 16); break; case "image": area.Image = images.GetImage(kvp.Value); break; } } } return(area); }
/** * バイナリエリアデータを読み込む */ private void ReadLogAreaBin(UFileStream fs) { MemLogArea area = new MemLogArea(); // エリア名の長さ // エリア名 area.Name = fs.GetSizeString(); // 親のエリア名の長さ // 親のエリア名 area.ParentArea = areaManager.searchArea(fs.GetSizeString()); // 色 area.Color = fs.GetUInt32(); // エリアを追加 areaManager.AddArea(area); }