/// <summary> /// フォームの初期化 /// </summary> private void InitForm() { // ウィンドウの位置 Location = HoI2EditorController.Settings.ScenarioEditor.Location; Size = HoI2EditorController.Settings.ScenarioEditor.Size; // 技術ツリーパネル _techTreePanelController = new TechTreePanelController(techTreePictureBox) { ApplyItemStatus = true }; _techTreePanelController.ItemMouseClick += OnTechTreeItemMouseClick; _techTreePanelController.QueryItemStatus += OnQueryTechTreeItemStatus; // マップパネル _mapPanelController = new MapPanelController(provinceMapPanel, provinceMapPictureBox); // ユニットツリー _unitTreeController = new UnitTreeController(unitTreeView); // コントローラ _controller = new ScenarioEditorController(this, _mapPanelController, _unitTreeController); }
/// <summary> /// ユニットツリーのノード選択時の処理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnUnitTreeAfterSelect(object sender, UnitTreeController.UnitTreeViewEventArgs e) { // ボタンの状態を更新する oobAddUnitButton.Enabled = e.CanAddUnit; oobAddDivisionButton.Enabled = e.CanAddDivision; bool selected = (e.Unit != null) || (e.Division != null); oobCloneButton.Enabled = selected; oobRemoveButton.Enabled = selected; TreeNode parent = e.Node.Parent; if (selected && (parent != null)) { int index = parent.Nodes.IndexOf(e.Node); int bottom = parent.Nodes.Count - 1; oobTopButton.Enabled = index > 0; oobUpButton.Enabled = index > 0; oobDownButton.Enabled = index < bottom; oobBottomButton.Enabled = index < bottom; } else { oobTopButton.Enabled = false; oobUpButton.Enabled = false; oobDownButton.Enabled = false; oobBottomButton.Enabled = false; } if (e.Unit != null) { UpdateOobUnitItems(e.Unit); EnableOobUnitItems(); } else { DisableOobUnitItems(); ClearOobUnitItems(); } if (e.Division != null) { UpdateOobDivisionItems(e.Division); EnableOobDivisionItems(); } else { DisableOobDivisionItems(); ClearOobDivisionItems(); } }
/// <summary> /// コンストラクタ /// </summary> /// <param name="form">シナリオエディタのフォーム</param> /// <param name="mapPanelController">マップパネルのコントローラ</param> /// <param name="unitTreeController">ユニットツリーのコントローラ</param> public ScenarioEditorController(ScenarioEditorForm form, MapPanelController mapPanelController, UnitTreeController unitTreeController) { _form = form; _mapPanelController = mapPanelController; _unitTreeController = unitTreeController; }