コード例 #1
0
        /// <summary>
        /// Gets a reference to the singleton instance.
        /// </summary>
        public static GraphicsDeviceService AddRef(IntPtr windowHandle,
                                                   int width, int height)
        {
            // Increment the "how many controls sharing the device" reference count.
            if (Interlocked.Increment(ref referenceCount) == 1)
            {
                // If this is the first control to start using the
                // device, we must create the singleton instance.
                singletonInstance = new GraphicsDeviceService(windowHandle,
                                                              width, height);
            }

            return(singletonInstance);
        }
コード例 #2
0
        /// <summary>
        /// Initializes the control.
        /// </summary>
        protected override void OnCreateControl()
        {
            // Don't initialize the graphics device if we are running in the designer.
            if (!DesignMode)
            {
                graphicsDeviceService = GraphicsDeviceService.AddRef(Handle,
                                                                     ClientSize.Width,
                                                                     ClientSize.Height);

                // Register the service, so components like ContentManager can find it.
                services.AddService <IGraphicsDeviceService>(graphicsDeviceService);

                // Give derived classes a chance to initialize themselves.
                Initialize();
            }

            base.OnCreateControl();
        }
コード例 #3
0
        private void frmMain_Load(object sender, EventArgs e)
        {
            mapViewer1.DrawImages = new List <Texture2D>();

            string defaultTilesetPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Resources\\default.tileset";

            if (!File.Exists(defaultTilesetPath))
            {
                if (MessageBox.Show("No default tileset found. Create one now?", "", MessageBoxButtons.YesNo) == DialogResult.No)
                {
                    Application.Exit();
                    return;
                }

                EditTileset();
                if (tileset.Tiles.Count == 0)
                {
                    Application.Exit();
                    return;
                }
            }
            else
            {
                tileset.LoadFromFile(defaultTilesetPath);
                mapViewer1.TileSize = tileset.Images.ImageSize.Width;
                RegistryAccess.AddRecentFile(tileset.FileName, RegistrySetting.RecentTilesets);
                RefreshListViewer();
            }

            //set up graphics device to pass to the created content manager
            GraphicsDeviceService gds     = GraphicsDeviceService.AddRef(Handle, ClientSize.Width, ClientSize.Height);
            ServiceContainer      service = new ServiceContainer();

            service.AddService <IGraphicsDeviceService>(gds);
            ContentManager cont = new ContentManager(service, EditorConst.CONTENT_ROOT_DIR);

            Left = (int)RegistryAccess.GetValue(RegistrySetting.WindowX);
            Top  = (int)RegistryAccess.GetValue(RegistrySetting.WindowY);

            Size = new Size((int)RegistryAccess.GetValue(RegistrySetting.WindowWidth), (int)RegistryAccess.GetValue(RegistrySetting.WindowHeight));

            //if (((int)RegistryAccess.GetValueOrDefault(RegistrySetting.WindowMaximized, EditorConst.WINDOW_DEFAULT_MAXIMIZATION)).ToBool())
            WindowState = FormWindowState.Maximized;
            //WindowState = FormWindowState.Maximized;
            //	WindowState = FormWindowState.Maximized;

            mapViewer1.GridText     = cont.Load <Texture2D>("gridbox");
            mapViewer1.SelectorText = cont.Load <Texture2D>("selector");

            System.Resources.ResourceSet res = GenericMapEditor.Properties.Resources.ResourceManager.GetResourceSet(new System.Globalization.CultureInfo("en-us"), true, true);

            for (int i = 0; i < (int)SpecialTileSpec.NUM_VALS; ++i)
            {
                cmbSpecialType.Items.Add(Enum.GetName(typeof(SpecialTileSpec), (SpecialTileSpec)i));
            }
            cmbSpecialType.SelectedIndex = 0;
            for (int i = (int)WarpAnim.NONE; i < (int)WarpAnim.NUM_VALS; ++i)
            {
                cmbWarpAnim.Items.Add(Enum.GetName(typeof(WarpAnim), (WarpAnim)i));
            }
            cmbWarpAnim.SelectedIndex = 0;

            RefreshRecentList(mnuFileRecent, RegistrySetting.RecentMaps);
            RefreshRecentList(recentToolStripMenuItem, RegistrySetting.RecentTilesets);
        }