public RoomSettingsEditor(Room room) { this.SetStyle(ControlStyles.Selectable, true); InitializeComponent(); Factory.GUIController.ColorThemes.Apply(LoadColorTheme); _room = room; sldZoomLevel.Maximum = ZOOM_MAX_VALUE / ZOOM_STEP_VALUE; sldZoomLevel.Value = 100 / ZOOM_STEP_VALUE; // If the room is very small, we will display it with x2 zoom by default // TODO: implement some option in preferences, and/or relative to the desktop size? if (_room.Width < 640 || _room.Height < 400) { SetZoomSliderToMultiplier(2); } else { SetZoomSliderToMultiplier(1); } _layers.Add(new EdgesEditorFilter(bufferedPanel1, _room)); _characterLayer = new CharactersEditorFilter(bufferedPanel1, _room, Factory.AGSEditor.CurrentGame); _layers.Add(_characterLayer); _layers.Add(new ObjectsEditorFilter(bufferedPanel1, _room)); _layers.Add(new HotspotsEditorFilter(bufferedPanel1, _room)); _layers.Add(new WalkableAreasEditorFilter(bufferedPanel1, _room)); _layers.Add(new WalkBehindsEditorFilter(bufferedPanel1, _room)); _layers.Add(new RegionsEditorFilter(bufferedPanel1, _room)); foreach (IRoomEditorFilter layer in _layers) { layer.OnItemsChanged += layer_OnItemsChanged; layer.OnSelectedItemChanged += layer_OnSelectedItemChanged; } RefreshLayersTree(); _editAddressBar.SelectionChange += editAddressBar_SelectionChange; RepopulateBackgroundList(0); UpdateScrollableWindowSize(); this.MouseWheel += new MouseEventHandler(RoomSettingsEditor_MouseWheel); this.bufferedPanel1.MouseWheel += new MouseEventHandler(RoomSettingsEditor_MouseWheel); this.sldZoomLevel.MouseWheel += new MouseEventHandler(RoomSettingsEditor_MouseWheel); _editorConstructed = true; }
public RoomSettingsEditor(Room room) { if (LockedCursor == null) { LockedCursor = Resources.ResourceManager.GetCursor("lock_cur.cur"); } this.SetStyle(ControlStyles.Selectable, true); InitializeComponent(); Factory.GUIController.ColorThemes.Apply(LoadColorTheme); _room = room; sldZoomLevel.Maximum = ZOOM_MAX_VALUE / ZOOM_STEP_VALUE; sldZoomLevel.Value = 100 / ZOOM_STEP_VALUE; // TODO: choose default zoom based on the room size vs window size? SetZoomSliderToMultiplier(_room.Width <= 320 ? 2 : 1); _emptyLayer = new EmptyEditorFilter(bufferedPanel1, _room); _layers.Add(new EdgesEditorFilter(bufferedPanel1, _room)); _characterLayer = new CharactersEditorFilter(bufferedPanel1, this, _room, Factory.AGSEditor.CurrentGame); _layers.Add(_characterLayer); _layers.Add(new ObjectsEditorFilter(bufferedPanel1, this, _room)); _layers.Add(new HotspotsEditorFilter(bufferedPanel1, this, _room)); _layers.Add(new WalkableAreasEditorFilter(bufferedPanel1, this, _room)); _layers.Add(new WalkBehindsEditorFilter(bufferedPanel1, this, _room)); _layers.Add(new RegionsEditorFilter(bufferedPanel1, this, _room)); foreach (IRoomEditorFilter layer in _layers) { layer.OnItemsChanged += layer_OnItemsChanged; layer.OnSelectedItemChanged += layer_OnSelectedItemChanged; } RefreshLayersTree(); _editAddressBar.SelectionChange += editAddressBar_SelectionChange; _startNode = _editAddressBar.CurrentNode.UniqueID; RepopulateBackgroundList(0); UpdateScrollableWindowSize(); this.MouseWheel += new MouseEventHandler(RoomSettingsEditor_MouseWheel); this.bufferedPanel1.MouseWheel += new MouseEventHandler(RoomSettingsEditor_MouseWheel); this.sldZoomLevel.MouseWheel += new MouseEventHandler(RoomSettingsEditor_MouseWheel); _editorConstructed = true; }