Beispiel #1
0
        public override void InitState()
        {
            base.InitState();
            SUI = new UI();

            var bg = new ImageForm().Set(0, 0, AppInfo.W, AppInfo.H).SetImage(new Texture2D("FoomED/bg2.jpg", LoadMethod.Single, false));

            SUI.Root.Add(bg);

            var edit_win = new Forms.EditMapForm().Set(30, 200, AppInfo.W - 80, AppInfo.H - 250, "Edit:" + MapName) as Forms.EditMapForm;

            bg.Add(edit_win);

            var tool_win = new WindowForm().Set(30, 10, 600, 120, "Tools");

            bg.Add(tool_win);

            CurMap = new InvaderEng.Map.Map();

            CurMap.WallBox(0, 0, 200, 30);
            edit_win.EditMap = CurMap;
            edit_win.RenderMap();

            var mapRen = new Forms.MapRenderForm().Set(300, 80, 512, 512, "Map Preview") as Forms.MapRenderForm;

            mapRen.Map        = edit_win.EditMap;
            mapRen.Render     = new InvaderEng.Render.MapRenderer();
            mapRen.Render.Map = mapRen.Map;

            bg.Add(mapRen);
        }
Beispiel #2
0
 public void Format(WindowForm window)
 {
     window.AutoSize                 = true;
     window.AutoSizeMode             = AutoSizeMode.GrowAndShrink;
     window.LayoutPane.Dock          = DockStyle.None;
     window.LayoutPane.AutoSize      = true;
     window.LayoutPane.AutoSizeMode  = AutoSizeMode.GrowAndShrink;
     window.ContentPane.Dock         = DockStyle.None;
     window.ContentPane.AutoSize     = true;
     window.ContentPane.AutoSizeMode = AutoSizeMode.GrowAndShrink;
 }
        public void Format(WindowForm window)
        {
            window.AutoSize             = false;
            window.LayoutPane.Dock      = DockStyle.Fill;
            window.LayoutPane.AutoSize  = false;
            window.ContentPane.Dock     = DockStyle.Fill;
            window.ContentPane.AutoSize = false;

            var offset = (window.Mode == Lib.Mode.SelectBox) ? new Size(-150, -150) : Size.Empty;

            window.Expand(offset);
        }
        public void Run()
        {
            //Ok Form
            OkWindowFormBuilder okWindowFormBuilder = new OkWindowFormBuilder();
            FormDirector        formDirector        = new FormDirector(okWindowFormBuilder);

            formDirector.Construct("You Create OkForm");

            WindowForm windowForm = okWindowFormBuilder.GetOkForm();

            //Cancel Form
            OkCancelWindowFormBuilder okCancelWindowFormBuilder = new OkCancelWindowFormBuilder();

            formDirector = new FormDirector(okCancelWindowFormBuilder);
            formDirector.Construct("You Create Ok/CancelForm");

            WindowForm okCancelWindowForm = okCancelWindowFormBuilder.GetOkCancelWindowForm();
        }
        /// <summary>
        /// Creates a form if it does not already exist and adds the given control.
        /// </summary>
        /// <param name="control"></param>
        /// <returns></returns>
        protected Form GetOrCreateForm(Control control)
        {
            WindowForm form;

            if (this.windowDictionary.ContainsKey(control))
            {
                form = (WindowForm)this.windowDictionary[control];
            }
            else
            {
                form = new WindowForm();
                this.windowDictionary.Add(control, form);
                form.Controls.Add(control);
                CalculateSize(control, form);
                control.Disposed += ControlDisposed;
                WireUpForm(form);
            }

            return(form);
        }
Beispiel #6
0
        /// <summary>
        /// 获取或创建SmartPart需要的窗体
        /// </summary>
        /// <param name="control">Smart part control.</param>
        /// <returns></returns>
        protected Form GetOrCreateForm(Control control)
        {
            WindowForm form = null;

            if (windows.ContainsKey(control))
            {
                form = windows[control] as WindowForm;
            }
            else
            {
                form = new WindowForm();
                form.ShowInTaskbar = owner == null;
                windows.Add(control, form);
                form.Controls.Add(control);
                control.Dock      = DockStyle.Fill;
                control.Disposed += ControlDisposed;
                control.Show();
                WireUpForm(form);
            }

            return(form);
        }
Beispiel #7
0
        public override void InitState()
        {
            base.InitState();

            var win = new WindowForm().Set(50, 50, 450, 300, "FoomED");

            var bg = new ImageForm().Set(0, 0, AppInfo.W, AppInfo.H, "").SetImage(new Texture2D("FoomED/bg1.jpg", LoadMethod.Single, false));

            SUI = new UI();

            var new_map = new ButtonForm().Set(10, 40, 120, 30, "New Map");

            win.Add(new_map);

            SUI.Root.Add(bg);

            SUI.Root.Add(win);

            new_map.Click = (b) =>
            {
                FusionApp.PushState(new NewMapState());
            };
        }
Beispiel #8
0
        public WindowForm CrTileSetEditor()
        {
            setX      = 0;
            setY      = 0;
            CurSetMap = new Map();

            var setLight = new Vivid.Scene.GraphLight();

            setLight.SetPos(120, 120);
            setLight.SetZ(40);
            setLight.Diffuse  = new OpenTK.Vector3(1, 1, 1);
            setLight.Specular = new OpenTK.Vector3(1, 1, 1);
            setLight.Range    = 1200;

            CurSetMap.AddLight(setLight);

            WindowForm set_Editor = new WindowForm().Set(200, 200, 700, 600, "TileSet") as WindowForm;

            ToolBarForm tools = new ToolBarForm().Set(0, 0, 700, 25) as ToolBarForm;



            set_Editor.body.Add(tools);

            MapViewForm tileSet_View = new MapViewForm(CurSetMap).Set(0, 25, set_Editor.body.W, set_Editor.body.H - 25) as MapViewForm;

            tView = tileSet_View;
            //CurSetMap = new Map(1);
            tView.MouseLeave = () =>
            {
                ClearHL(tileSet_View);
            };
            tView.MouseMove = (x, y, dx, dy) =>
            {
                if (tView.Graph != null)
                {
                    var node = tView.Graph.Pick(x, y);

                    if (node != null)
                    {
                        tView.Map.HL.Clear();
                        tView.Map.HighlightTile(node.TileX, node.TileY);
                        tileSet_View.UpdateGraph();
                        // tileSet_View.Graph.X = -32 + tileSet_View.W / 2;
                        //tileSet_View.Graph.Y = -32 + tileSet_View.H / 2;
                        // Console.WriteLine("MX:" + x + " MY:" + y);
                    }
                    else
                    {
                        ClearHL(tileSet_View);
                    }
                }
            };

            CurSetLayer = CurSetMap.AddLayer(new SpaceEngine.Map.Layer.MapLayer(setWidth, setHeight));



            set_Editor.body.Add(tileSet_View);

            void click_AddFolder()
            {
                var req = new RequestFileForm("Select a folder to scan..", ContentPath, true);

                SUI.Top = req;

                req.Selected = (path) =>
                {
                    Console.WriteLine("Folder:" + path + ":");
                    SUI.Top = null;

                    var di = new DirectoryInfo(path);

                    foreach (var file in di.GetFiles())
                    {
                        switch (file.Extension)
                        {
                        case ".png":
                        case ".bmp":
                        case ".jpg":
                        case ".tga":
                            FAddTile(file.FullName);

                            break;
                        }
                    }

                    ResetMap(tView);
                };


                // var file
            }

            tools.AddItem("Clear");
            var tile_Add       = tools.AddItem("Add Tile");
            var tile_AddFolder = tools.AddItem("Add Folder");

            tile_AddFolder.Click = click_AddFolder;

            void click_AddTile()
            {
                var addReq = new RequestFileForm("Add Tile to set...", ContentPath);

                SUI.Top = addReq;

                addReq.Selected = (path) =>
                {
                    Console.WriteLine("Loading Tile:" + path);

                    FAddTile(path);
                    //CurSetMap.HighlightTile(setX - 1, setY);
                    ResetMap(tileSet_View);
                    //tileSet_View.Graph.X = (CurSetMap.Layers[0].Width * 64)/2;
                    // tileSet_View.Graph.Y = (CurSetMap.Layers[0].Height * 64) / 2;
                    // tileSet_View.Graph.X -= 64;
                    SUI.Top = null;
                };
            }

            tile_Add.Click = click_AddTile;


            return(set_Editor);
        }
Beispiel #9
0
        public override void InitState()
        {
            base.InitState();
            SUI = new Vivid.Resonance.UI();

            var main_menu = new MenuForm().Set(0, 0, AppInfo.W, 25, "") as MenuForm;

            UIForm ui_Root = new UIForm();

            ui_Root.Add(main_menu);

            SUI.Root = ui_Root;

            var menu_TileSet = main_menu.AddItem("TileSet");

            main_menu.AddItem("Edit");

            var win_NewSet  = new WindowForm().Set(50, 100, 500, 300, "New Tileset") as WindowForm;
            var newSet_Name = new TextBoxForm().Set(85, 5, 120, 25, "") as TextBoxForm;

            win_NewSet.body.Add(newSet_Name);
            var newSet_Label = new LabelForm().Set(5, 5, 35, 25, "SetName");

            var newSet_Create = new ButtonForm().Set(5, 245, 60, 25, "Create");

            win_NewSet.body.Add(newSet_Create);


            win_NewSet.body.Add(newSet_Label);


            void click_NewSet(int b)
            {
                SUI.Top = win_NewSet;
            }

            void click_Exit(int b)
            {
                Environment.Exit(1);
            }

            void click_LoadSet(int b)
            {
                var req = new RequestFileForm("Load set..", ContentPath);

                SUI.Top = req;

                req.Selected = (path) =>
                {
                    CurSet = new SpaceEngine.Map.TileSet.TileSet("");
                    CurSet.Load(path);

                    CurSetLayer.Fill(null);
                    setX = setY = 0;
                    foreach (var t in CurSet.Tiles)
                    {
                        CurSetLayer.SetTile(setX, setY, t);
                        setX++;
                    }

                    tView.UpdateGraph();
                    // tView.Graph.X = -32 + tView.W / 2;
                    // tView.Graph.Y = -32 + tView.H / 2;
                    SUI.Top = null;
                };
            }

            void click_SaveSet(int b)
            {
                var req = new RequestFileForm("Save set as..", ContentPath);

                SUI.Top = req;

                req.Selected = (path) =>
                {
                    CurSet.Save(path + ".ts");
                    SUI.Top = null;
                };
            }

            menu_TileSet.Menu.AddItem("New Set", click_NewSet);
            menu_TileSet.Menu.AddItem("Load Set", click_LoadSet);
            menu_TileSet.Menu.AddItem("Save Set", click_SaveSet);
            menu_TileSet.Menu.AddItem("Exit", click_Exit);

            ui_Root.Add(CrTileSetEditor());
        }
Beispiel #10
0
 private void WireUpForm(WindowForm form)
 {
     form.WindowFormClosing   += new EventHandler <WorkspaceCancelEventArgs>(WindowFormClosing);
     form.WindowFormClosed    += new EventHandler <WorkspaceEventArgs>(WindowFormClosed);
     form.WindowFormActivated += new EventHandler <WorkspaceEventArgs>(WindowFormActivated);
 }
Beispiel #11
0
 public OkCancelWindowFormBuilder()
 {
     okCancelWindowForm = new WindowForm("OkCancelWindowForm");
 }
Beispiel #12
0
 internal Window(WindowForm form)
 {
     this.Form             = form;
     this.Form.Timer.Tick += (o, e) => SetMessage(null, TimeSpan.Zero);
 }
Beispiel #13
0
        public WindowForm CrTileSetEditor()
        {
            setX      = 0;
            setY      = 0;
            CurSetMap = new Map();


            var setLight = new Vivid.Scene.GraphLight();

            setLight.SetPos(120, 120);
            setLight.SetZ(40);
            setLight.Diffuse  = new OpenTK.Vector3(1, 1, 1);
            setLight.Specular = new OpenTK.Vector3(1, 1, 1);
            setLight.Range    = 1200;

            //  CurSetMap.AddLight(setLight);


            WindowForm set_Editor = new WindowForm().Set(200, 200, 700, 600, "TileSet") as WindowForm;

            ToolBarForm tools = new ToolBarForm().Set(0, 0, 700, 25) as ToolBarForm;



            set_Editor.Body.Add(tools);

            MapViewForm tileSet_View = new MapViewForm(CurSetMap).Set(0, 25, set_Editor.Body.W, set_Editor.Body.H - 25) as MapViewForm;

            tView = tileSet_View;


            // tileSet_View.LockCam = true;
            //tileSet_View.LockX = (set_Editor.Body.W / 2)-32;
            //tileSet_View.LockY = (set_Editor.Body.H / 2)-48;
            bool move_on = false;

            //CurSetMap = new Map(1);
            tView.MouseLeave = () =>
            {
                ClearHL(tileSet_View);
            };
            tView.MouseUp = (b) =>
            {
                if (b == 1)
                {
                    move_on = false;
                }
            };
            tView.MouseDown = (b) =>
            {
                if (b == 1)
                {
                    move_on = true;
                }
                if (CurTile != null)
                {
                    Inspect.SetObj(CurTile);
                }
            };
            tView.MouseMove = (x, y, dx, dy) =>
            {
                if (tView.Graph != null)
                {
                    if (move_on == true)
                    {
                        tView.Graph.Move(-dx, -dy);
                        if (tView.Graph.X > (tileSet_View.W / 2) - 32)
                        {
                            tView.Graph.X = ((tileSet_View.W / 2) - 32) - 6;
                        }
                        ;
                        if (tView.Graph.Y > (tileSet_View.H / 2) - 32)
                        {
                            tView.Graph.Y = ((tileSet_View.H / 2) - 32) - 6;
                        }
                    }

                    AppInfo.RW = tView.MapFrame.IW;
                    AppInfo.RH = tView.MapFrame.IH;
                    var node = tView.Graph.Pick(x, y);
                    AppInfo.RW = AppInfo.W;
                    AppInfo.RH = AppInfo.H;
                    if (node != null)
                    {
                        tView.Map.HL.Clear();
                        tView.Map.HighlightTile(node.TileX, node.TileY);
                        tileSet_View.UpdateGraph();
                        //Inspect.SetObj(node.Obj[0]);
                        CurTile = node.Obj[0];
                        // tileSet_View.Graph.X = -32 + tileSet_View.W / 2;
                        //tileSet_View.Graph.Y = -32 + tileSet_View.H / 2;
                        // Console.WriteLine("MX:" + x + " MY:" + y);
                    }
                    else
                    {
                        ClearHL(tileSet_View);
                    }
                }
            };

            CurSetLayer = CurSetMap.AddLayer(new Vivid.Map.Layer.MapLayer(setWidth, setHeight, CurSetMap));



            set_Editor.Body.Add(tileSet_View);

            void click_AddFolder()
            {
                var req = new RequestFileForm("Select a folder to scan..", GameGlobal.ContentPath, true);

                SUI.Top = req;

                req.Selected = (path) =>
                {
                    Console.WriteLine("Folder:" + path + ":");
                    SUI.Top = null;

                    var di = new DirectoryInfo(path);

                    foreach (var file in di.GetFiles())
                    {
                        switch (file.Extension)
                        {
                        case ".png":
                        case ".bmp":
                        case ".jpg":
                        case ".tga":

                            if (file.FullName.ToLower().Contains("nrm"))
                            {
                                continue;
                            }

                            FAddTile(file.FullName);

                            break;
                        }
                    }

                    ResetMap(tView);
                };


                // var file
            }

            tools.AddItem("Clear");
            var tile_Add       = tools.AddItem("Add Tile");
            var tile_AddFolder = tools.AddItem("Add Folder");

            tile_AddFolder.Click = click_AddFolder;

            void click_AddTile()
            {
                var addReq = new RequestFileForm("Add Tile to set...", GameGlobal.ContentPath);

                SUI.Top = addReq;

                addReq.Selected = (path) =>
                {
                    Console.WriteLine("Loading Tile:" + path);

                    FAddTile(path);
                    //CurSetMap.HighlightTile(setX - 1, setY);
                    ResetMap(tileSet_View);
                    //tileSet_View.Graph.X = (CurSetMap.Layers[0].Width * 64)/2;
                    // tileSet_View.Graph.Y = (CurSetMap.Layers[0].Height * 64) / 2;
                    // tileSet_View.Graph.X -= 64;
                    SUI.Top = null;
                };
            }

            tile_Add.Click = click_AddTile;


            return(set_Editor);
        }
 public OkWindowFormBuilder()
 {
     okWindowForm = new WindowForm("OkForm");
 }