Example #1
0
        private void SelectLayer(IRoomEditorFilter layer)
        {
            if (!_editorConstructed)
            {
                return;
            }
            if (layer == _layer)
            {
                return;
            }

            if (_layer != null)
            {
                _layer.FilterOff();
            }
            _layer = layer ?? _emptyLayer;

            SetDefaultPropertyGridList();
            SetPropertyGridObject(_room);
            lblTransparency.Visible    = _layer.ShowTransparencySlider;
            sldTransparency.Visible    = _layer.ShowTransparencySlider;
            chkCharacterOffset.Visible = _layer is CharactersEditorFilter;

            _layer.FilterOn();

            bufferedPanel1.Invalidate();
            // ensure that shortcut keys do not move the combobox
            bufferedPanel1.Focus();
        }
Example #2
0
        protected override void OnPropertyChanged(string propertyName, object oldValue)
        {
            _room.Modified = true;

            bool needRefresh = false;

            // TODO: unfortunately had to duplicate handling of property change here;
            // cannot forward event to the CharacterComponent.OnPropertyChanged,
            // because its implementation relies on it being active Pane!
            if (propertyName == Character.PROPERTY_NAME_STARTINGROOM)
            {
                if (_characterLayer != null)
                {
                    int oldRoom = (int)oldValue;
                    _characterLayer.UpdateCharactersRoom(_characterLayer.SelectedCharacter, oldRoom);
                    needRefresh = true;
                }
            }

            if (propertyName == RoomHotspot.PROPERTY_NAME_SCRIPT_NAME ||
                propertyName == RoomObject.PROPERTY_NAME_SCRIPT_NAME ||
                propertyName == Character.PROPERTY_NAME_SCRIPTNAME ||
                needRefresh)
            {
                if (_layer != null)
                {
                    // Force the layer to refresh its property list with the new name
                    // TODO: find out if this hack can be avoided
                    _layer.FilterOff();
                    _layer.FilterOn();
                }
                RefreshLayersTree();
            }
        }
Example #3
0
        protected override void OnPropertyChanged(string propertyName, object oldValue)
        {
            _room.Modified = true;

            if ((propertyName == RoomHotspot.PROPERTY_NAME_SCRIPT_NAME) ||
                (propertyName == RoomObject.PROPERTY_NAME_SCRIPT_NAME))
            {
                // Force the filter to refresh its property list with the new name
                _filter.FilterOff();
                _filter.FilterOn();
            }
        }
Example #4
0
        public RoomSettingsEditor(Room room)
        {
            this.SetStyle(ControlStyles.Selectable, true);

            InitializeComponent();
            _room = room;
            if (_room.Resolution == RoomResolution.LowRes)
            {
                _state.ScaleFactor = 2;
            }
            else
            {
                _state.ScaleFactor = 1;
            }
            sldZoomLevel.Value = _state.ScaleFactor;
            _state.ScrollOffsetX = 0;
            _state.ScrollOffsetY = 0;
            _state.CurrentCursor = Cursors.Default;

            _filters.Add(new EmptyEditorFilter(bufferedPanel1, _room));
            _filters.Add(new EdgesEditorFilter(bufferedPanel1, _room));
            _filters.Add(new CharactersEditorFilter(bufferedPanel1, _room, Factory.AGSEditor.CurrentGame));
            _filters.Add(new ObjectsEditorFilter(bufferedPanel1, _room));
            _filters.Add(new HotspotsEditorFilter(bufferedPanel1, _room));
            _filters.Add(new WalkableAreasEditorFilter(bufferedPanel1, _room));
            _filters.Add(new WalkBehindsEditorFilter(bufferedPanel1, _room));
            _filters.Add(new RegionsEditorFilter(bufferedPanel1, _room));
            _filter = _filters[0];
            _filter.FilterOn();

            cmbViewType.Items.Add("Nothing");
            cmbViewType.Items.Add("Edges");
            cmbViewType.Items.Add("Characters");
            cmbViewType.Items.Add("Objects");
            cmbViewType.Items.Add("Hotspots");
            cmbViewType.Items.Add("Walkable areas");
            cmbViewType.Items.Add("Walk-behinds");
            cmbViewType.Items.Add("Regions");

            cmbViewType.SelectedIndex = 0;

            RepopulateBackgroundList(0);
            UpdateScrollableWindowSize();
            this.MouseWheel += new MouseEventHandler(RoomSettingsEditor_MouseWheel);
            this.bufferedPanel1.MouseWheel += new MouseEventHandler(RoomSettingsEditor_MouseWheel);

            _editorConstructed = true;
        }
Example #5
0
        public RoomSettingsEditor(Room room)
        {
            this.SetStyle(ControlStyles.Selectable, true);

            InitializeComponent();
            _room = room;
            if (_room.Resolution == RoomResolution.LowRes)
            {
                _state.ScaleFactor = 2;
            }
            else
            {
                _state.ScaleFactor = 1;
            }
            sldZoomLevel.Value   = _state.ScaleFactor;
            _state.ScrollOffsetX = 0;
            _state.ScrollOffsetY = 0;
            _state.CurrentCursor = Cursors.Default;

            _filters.Add(new EmptyEditorFilter(bufferedPanel1, _room));
            _filters.Add(new EdgesEditorFilter(bufferedPanel1, _room));
            _filters.Add(new CharactersEditorFilter(bufferedPanel1, _room, Factory.AGSEditor.CurrentGame));
            _filters.Add(new ObjectsEditorFilter(bufferedPanel1, _room));
            _filters.Add(new HotspotsEditorFilter(bufferedPanel1, _room));
            _filters.Add(new WalkableAreasEditorFilter(bufferedPanel1, _room));
            _filters.Add(new WalkBehindsEditorFilter(bufferedPanel1, _room));
            _filters.Add(new RegionsEditorFilter(bufferedPanel1, _room));
            _filter = _filters[0];
            _filter.FilterOn();

            cmbViewType.Items.Add("Nothing");
            cmbViewType.Items.Add("Edges");
            cmbViewType.Items.Add("Characters");
            cmbViewType.Items.Add("Objects");
            cmbViewType.Items.Add("Hotspots");
            cmbViewType.Items.Add("Walkable areas");
            cmbViewType.Items.Add("Walk-behinds");
            cmbViewType.Items.Add("Regions");

            cmbViewType.SelectedIndex = 0;

            RepopulateBackgroundList(0);
            UpdateScrollableWindowSize();
            this.MouseWheel += new MouseEventHandler(RoomSettingsEditor_MouseWheel);
            this.bufferedPanel1.MouseWheel += new MouseEventHandler(RoomSettingsEditor_MouseWheel);

            _editorConstructed = true;
        }
Example #6
0
        private void cmbViewType_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (_editorConstructed)
            {
                _filter.FilterOff();
                _filter = _filters[cmbViewType.SelectedIndex];

                SetDefaultPropertyGridList();
                Factory.GUIController.SetPropertyGridObject(_room);
                lblTransparency.Visible    = _filter.ShowTransparencySlider;
                sldTransparency.Visible    = _filter.ShowTransparencySlider;
                chkCharacterOffset.Visible = ((string)cmbViewType.SelectedItem == "Characters");

                _filter.FilterOn();

                bufferedPanel1.Invalidate();
                // ensure that shortcut keys do not move the combobox
                bufferedPanel1.Focus();
            }
        }
Example #7
0
        private void cmbViewType_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (_editorConstructed)
            {
                _filter.FilterOff();
                _filter = _filters[cmbViewType.SelectedIndex];

                SetDefaultPropertyGridList();
                Factory.GUIController.SetPropertyGridObject(_room);
                lblTransparency.Visible = _filter.ShowTransparencySlider;
                sldTransparency.Visible = _filter.ShowTransparencySlider;
                chkCharacterOffset.Visible = ((string)cmbViewType.SelectedItem == "Characters");

                _filter.FilterOn();

                bufferedPanel1.Invalidate();
                // ensure that shortcut keys do not move the combobox
                bufferedPanel1.Focus();
            }
        }