■マップエディタプログラム構造

●ファイル概要
・Program.cs
  メイン関数のあるファイル

・MapEditorApplication.cs
  アプリケーションの本体
  ビューとコントローラの初期化を行い
  メインフォームを実行する

・Viewフォルダ
  各種ビューがある
  フォームやユーザコントロールのこと

・Modelフォルダ
  データがある
  MapData系とEditorData系の二系統がある

・Controllerフォルダ
  データを操作するコントローラがある
  モデルの操作を行うコントローラと
  Viewのイベントを受け取ってモデル操作コントローラを
  呼び出すコントローラに別れる

●処理の流れ
  1.ユーザがUIであるビューを操作すると
  2.ビューからイベントが飛ぶ
    ビューからのイベントをビューコントローラで拾い
  3.モデル操作コントローラを呼ぶ
  4.モデル操作コントローラはモデルのメソッドを
    呼び出してモデルに変更を加える
  5.モデルが変更されると変更イベントが飛び
  6.モデル変更イベントをビューが拾って見た目が変わる

     ユーザ <---+(6.更新)
        |       |
(1.操作)+---> View <-------------------------+
               |                             |
      (2.event)+---> ViewController          |
                      |                      |
              (3.call)+---> ModelController  |(5.event) 
                             |               |
                     (4.call)+---> Model     |
                                     +------>+

■Viewの大まかなファイル
・MapEditorForm.cs     メインフォーム
・ChipGridView.cs      エディタ左のチップを配置するビュー
・ChipPropertyView.cs  エディタ右上のチップのプロパティを編集するビュー
・ChipAttributeEditorView.cs  ChipPropertyViewのAttributeを
                              編集するチェックボックスエディタ
・ChipListView.cs      エディタ右中のチップを選択するビュー
・LayerListTabView.cs  エディタ右下のレイヤー選択するタブビュー
・LayerPage.cs         レイヤータブに動的に追加されるページ
・LayerAddPage.cs      レイヤー追加タブに載せるページ