Esempio n. 1
0
        public void Init()
        {
            int i = 0;

            foreach (Direction d in _sprite.Directions)
            {
                DirectionLayout layout = new DirectionLayout(_sprite, d, this);
                layout.OnFrameClick += layout_OnFrameClick;
                layout.Modified     += Modified;
                layout.Zoom          = _zoom;
                DirectionHolder.Controls.Add(layout);
                layout.Location = new Point(2, i++ *(layout.Height + 2) + 2);
            }
            ((DirectionLayout)DirectionHolder.Controls[0]).Select(0);
            _selectedFrame       = ((DirectionLayout)DirectionHolder.Controls[0]).SelectedFrame;
            SpriteDrawer.Content = (Bitmap)_sprite.GetImage((((DirectionLayout)DirectionHolder.Controls[0]).SelectedFrame.Index));
            SpriteDrawer.ZoomIn();
            SpriteDrawer.ZoomIn();
            _tilesetCtrl = new TilesetControl2 {
                Tileset = SphereStudio.Vanilla.Tileset.FromSpriteset(_sprite), CanInsert = false
            };
            _tilesetCtrl.ZoomIn();
            _tilesetCtrl.Anchor        = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top;
            _tilesetCtrl.TileSelected += _tileset_ctrl_TileSelected;
            _tilesetCtrl.TileAdded    += _tileset_ctrl_TileAdded;
            _tilesetCtrl.TileRemoved  += _tileset_ctrl_TileRemoved;
            ImageHolder.Controls.Add(_tilesetCtrl);
            _tilesetCtrl.Width      = ImageHolder.Width - 6;
            DirectionAnim.Sprite    = _sprite;
            DirectionAnim.Direction = _sprite.Directions[0];
            FrameBaseEditor.Frame   = _sprite.Directions[0].Frames[0];
        }
Esempio n. 2
0
        private void mCoordinator_WindowAdded(Frame frame, EventArgs args)
        {
            //
            // windowPanel
            //
            FramePanel windowPanel = new FramePanel(frame);

            windowPanel.Dock     = System.Windows.Forms.DockStyle.Fill;
            windowPanel.Location = new System.Drawing.Point(3, 3);
            windowPanel.Name     = frame.Name + "Panel";
            windowPanel.Size     = new System.Drawing.Size(401, 233);
            windowPanel.TabIndex = 0;
            //
            // windowTab
            //
            TabPage windowTab = new System.Windows.Forms.TabPage();

            windowTab.Controls.Add(windowPanel);
            windowTab.Location = new System.Drawing.Point(4, 22);
            windowTab.Name     = frame.Name + "Tab";
            windowTab.Padding  = new System.Windows.Forms.Padding(3);
            windowTab.Size     = new System.Drawing.Size(407, 239);
            windowTab.TabIndex = 0;
            windowTab.Text     = frame.Name;
            windowTab.UseVisualStyleBackColor = true;

            windowsTab.Controls.Add(windowTab);
            frame.Changed += new Action <Frame, EventArgs>(frame_Changed);
        }
        private void OnFrameSizeChagned(object sender, SizeChangedEventArgs e)
        {
            var zoom     = GetZoom();
            var position = GetPosition();
            var maxX     = FramePanel.GetActualWidth() - Rectangle.GetActualWidth() * zoom;
            var maxY     = FramePanel.GetActualHeight() - Rectangle.GetActualHeight() * zoom;
            var newX     = position.X;
            var newY     = position.Y;

            Clip(maxX, maxY, ref newX, ref newY);
            SetPosition(new Point(newX, newY));
        }
Esempio n. 4
0
 private void layout_OnFrameClick(object sender, EventArgs e)
 {
     if (_selectedFrame != null)
     {
         _selectedFrame.Selected = false;
     }
     _selectedDirection      = (DirectionLayout)sender;
     _selectedFrame          = _selectedDirection.SelectedFrame;
     SpriteDrawer.Content    = (Bitmap)_sprite.GetImage(_selectedFrame.Index);
     FrameBaseEditor.Frame   = _selectedFrame.Frame;
     DirectionAnim.Direction = _selectedDirection.Direction;
     DirectionAnim.Invalidate(true);
 }
        void OnZoomDelta(object sender, C1ZoomDeltaEventArgs e)
        {
            var    maxZoom = Math.Min(FramePanel.GetActualWidth() / Rectangle.GetActualWidth(), FramePanel.GetActualHeight() / Rectangle.GetActualHeight()) / 2;
            var    newZoom = Math.Min(maxZoom, _initialZoom * e.UniformCumulativeScale);
            var    maxX = FramePanel.GetActualWidth() - Rectangle.GetActualWidth() * newZoom;
            var    maxY = FramePanel.GetActualHeight() - Rectangle.GetActualHeight() * newZoom;
            double newX, newY;

            Zoom(maxZoom, _initialZoom, _initialPosition, _relativePosition, newZoom, out newX, out newY);
            newX = newX + e.CumulativeTranslation.X;
            newY = newY + e.CumulativeTranslation.Y;
            Clip(maxX, maxY, ref newX, ref newY);
            SetZoom(newZoom, newX, newY, false);
        }
        void OnZoomCompleted(object sender, C1ZoomCompletedEventArgs e)
        {
            var    maxZoom = Math.Min(FramePanel.GetActualWidth() / Rectangle.GetActualWidth(), FramePanel.GetActualHeight() / Rectangle.GetActualHeight()) / 2;
            var    newZoom = Math.Min(maxZoom, _initialZoom * e.UniformCumulativeScale);
            var    maxX = FramePanel.GetActualWidth() - Rectangle.GetActualWidth() * newZoom;
            var    maxY = FramePanel.GetActualHeight() - Rectangle.GetActualHeight() * newZoom;
            double newX, newY;

            Zoom(maxZoom, _initialZoom, _initialPosition, _relativePosition, newZoom, out newX, out newY);
            newX = newX + e.CumulativeTranslation.X;
            newY = newY + e.CumulativeTranslation.Y;
            Clip(maxX, maxY, ref newX, ref newY);
            SetZoom(newZoom, newX, newY, true);
            Rectangle.BorderBrush = new SolidColorBrush(Colors.Transparent);
        }
        void OnDragDelta(object sender, C1DragDeltaEventArgs e)
        {
            var zoom = GetZoom();
            var maxX = FramePanel.GetActualWidth() - Rectangle.GetActualWidth() * zoom;
            var maxY = FramePanel.GetActualHeight() - Rectangle.GetActualHeight() * zoom;
            var newX = _initialX + e.CumulativeTranslation.X;
            var newY = _initialY + e.CumulativeTranslation.Y;

            if (e.IsInertial)
            {
                Bounce(maxX, maxY, ref newX, ref newY);
            }
            else
            {
                Clip(maxX, maxY, ref newX, ref newY);
            }
            SetPosition(new Point((int)newX, (int)newY));
        }
Esempio n. 8
0
    // Start is called before the first frame update
    void Start()
    {
        //Debug.Log("Options Panel Start:"+name);
        aboutPanelGo   = transform.Find("AboutPanel").gameObject;
        aboutPanel     = aboutPanelGo.GetComponent <AboutPanel>();
        visualPanelGo  = transform.Find("VisualsPanel").gameObject;
        visualsPanel   = visualPanelGo.GetComponent <VisualsPanel>();
        mapFitPanelGo  = transform.Find("MapFitPanel").gameObject;
        mapFitPanel    = mapFitPanelGo.GetComponent <MapFitPanel>();
        framePanelGo   = transform.Find("FramePanel").gameObject;
        framePanel     = framePanelGo.GetComponent <FramePanel>();
        b19PanelGo     = transform.Find("B19Panel").gameObject;
        b19Panel       = b19PanelGo.GetComponent <B19Panel>();
        generalPanelGo = transform.Find("GeneralPanel").gameObject;
        generalPanel   = generalPanelGo.GetComponent <GeneralPanel>();
        helpPanelGo    = transform.Find("HelpPanel").gameObject;
        helpPanel      = helpPanelGo.GetComponent <HelpPanel>();
        var vgo = transform.Find("VisualsToggle").gameObject;

        visualToggle = vgo.GetComponent <Toggle>();
        var mgo = transform.Find("MapFitToggle").gameObject;

        mapfitToggle = mgo.GetComponent <Toggle>();
        var fgo = transform.Find("FrameToggle").gameObject;

        frameToggle = fgo.GetComponent <Toggle>();
        var bgo = transform.Find("B19Toggle").gameObject;

        b19Toggle = bgo.GetComponent <Toggle>();
        var ggo = transform.Find("GeneralToggle").gameObject;

        generalToggle = ggo.GetComponent <Toggle>();
        var hgo = transform.Find("HelpToggle").gameObject;

        helpToggle = hgo.GetComponent <Toggle>();
        var ago = transform.Find("AboutToggle").gameObject;

        aboutToggle             = ago.GetComponent <Toggle>();
        togGroup                = GetComponent <ToggleGroup>();
        togGroup.allowSwitchOff = true; // otherwise it does not save state correctly when we turn off the panel
        SyncState();
    }