Esempio n. 1
0
        private void onMouseUp(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                Rectangle region     = selection.Region;
                Rectangle tileRegion = TileEditorState.Instance.SelectedRegion;

                RectangleAction action = new RectangleAction(tileRegion, region, TileEditorState.Instance.SelectedTileset);
                EditorEngine.Instance.GetActionManager().Execute(action);
                foreach (SetTileAction a in action.Actions)
                {
                    Map map = EditorEngine.Instance.CurrentMap;

                    MockupTileBehavior b = map.GetBehavior(a.X, a.Y);
                    b.BehaviorId = map.Tilesets[a.TilesetIndex].Tileset.Tiles[a.TileIndex].DefaultBehavior.BehaviorId;
                }
                active = false;
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 绘制矩形动作
        /// </summary>
        public RectangleAction RectangleAction(Color?penColor = null, int lineWidth = 1, Color?fill = null, dynamic Element = null)
        {
            if (penColor == null)
            {
                penColor = Colors.Black;
            }
            var a = new RectangleAction();

            a.Geometry.PenColor  = penColor.Value;
            a.Geometry.LineWidth = lineWidth;
            a.Geometry.Element   = Element;
            if (fill != null)
            {
                a.Geometry.FillColor = fill.Value;
            }
            DrawingControl.SetAction(a);
            LastAction = a;
            return(a);
        }
Esempio n. 3
0
        public IAction Read()
        {
            IAction     result = null;
            BinaryInput stream = _stream as BinaryInput;
            int         i      = stream.ReadInt32();

            if (i == 1)
            {
                result = new SetTileAction();
            }
            if (i == 2)
            {
                result = new MultiAction();
            }
            if (i == 3)
            {
                result = new FillAction();
            }
            if (i == 4)
            {
                result = new RectangleAction();
            }
            if (i == 5)
            {
                result = new AddEntityAction();
            }
            if (i == 6)
            {
                result = new RemoveEntityAction();
            }

            IEncodable encodable = result as IEncodable;

            if (encodable != null)
            {
                encodable.Decode(stream);
            }
            return(result);
        }
Esempio n. 4
0
 private void SetAction(RectangleAction a)
 {
     tip = new SubRectangleTip(DrawingControl, textTip);
     tip.Attention(a);
 }