コード例 #1
0
        static void Book_OnRowSelected(Base control)
        {
            foreach (TableRow b in activeBookItems)
            {
                b.SetTextColor(System.Drawing.Color.Gray);
                bookTitle.String = "";
                authorText.String = "";
                statusText.String = "";
                publishingProgress.Hide();
            }
            if (menu.SelectedRows.Count != 0)
            {
                Debug.WriteLine("Selected: " + menu.SelectedRow.Text);

                menu.SelectedRow.SetTextColor(System.Drawing.Color.White);

                //Assigns the active book to the selected menu item
                foreach (Book b in activeBooks)
                {
                    if (b.title.Equals(menu.SelectedRow.Text))
                    {
                        activeBook = b;
                        Debug.WriteLine("Activebook: " + activeBook.title);
                    }
                }

                bookTitle.String = activeBook.title;
                authorText.String = "Author: " + activeBook.Author;
                publishingProgress.Show();
                publishingProgress.Value = activeBook.progress;

                if (activeBook.status == BookStatus.Review)
                {
                    statusText.String = "Status: In " + activeBook.status;
                }
                else
                {
                    statusText.String = "Status: " + activeBook.status;
                }
            }
        }
コード例 #2
0
        private static void DeleteBookFromMenu(Book b)
        {
            int indexToDelete = -1;

            //archieves denied and retired books
            archivedBooks.Add(b);

            for (int i = 0; i < activeBookItems.Count; i++)
            {
                if (activeBookItems[i].Text == b.title)
                {
                    indexToDelete = i;
                }
            }

            try
            {
                menu.RemoveRow(indexToDelete);
            }
            catch (Exception e)
            { Debug.WriteLine(":O " + e); }
        }
コード例 #3
0
        private static void Initialize()
        {
            #region setup debug
            TextWriterTraceListener debugger = new TextWriterTraceListener(Console.Out);
            Debug.Listeners.Add(debugger);
            #endregion

            Debug.WriteLine("Initializing Game");

            #region window setup
            window = new RenderWindow(new VideoMode((uint)screenSize.X, (uint)screenSize.Y, 32), "BPN", Styles.Close);
            window.SetFramerateLimit(30);
            window.KeyReleased += new EventHandler<KeyEventArgs>(window_KeyReleased);
            window.Closed += new EventHandler(window_Closed);
            window.MouseButtonReleased += new EventHandler<MouseButtonEventArgs>(window_MouseButtonReleased);
            window.MouseMoved += new EventHandler<MouseMoveEventArgs>(window_MouseMoved);
            window.MouseButtonPressed += new EventHandler<MouseButtonEventArgs>(window_MouseButtonPressed);
            window.MouseWheelMoved += new EventHandler<MouseWheelEventArgs>(window_MouseWheelMoved);
            window.EnableVerticalSync(true);
            #endregion

            #region Gui Setup
            guiRenderer = new Gwen.Renderer.SFML(window);
            guiRenderer.Initialize();
            skin = new TexturedBase(guiRenderer, @"Data/DefaultSkin.png");
            guiFont = new Gwen.Font("Data/OpenSans.ttf", 10);
            guiFontLarge = new Gwen.Font("Data/OpenSans.ttf", 14);
            guiRenderer.LoadFont(guiFont);
            guiRenderer.LoadFont(guiFontLarge);
            skin.SetDefaultFont(guiFont.FaceName);

            _canvas = new Canvas(skin);
            _canvas.SetSize(screenSize.X, screenSize.Y);
            _canvas.ShouldDrawBackground = true;
            _canvas.BackgroundColor = System.Drawing.Color.FromArgb(255, 150, 170, 170);
            _canvas.KeyboardInputEnabled = true;

            input = new Gwen.Input.SFML();
            input.Initialize(_canvas);
            #endregion

            #region Side Buttons
            aboutPageButton = new Button(_canvas);
            aboutPageButton.Text = "About";
            aboutPageButton.SetPos(4, 2*screenSize.Y/3-8);
            aboutPageButton.OnDown += new Gwen.Controls.Base.ControlCallback(aboutPageButton_OnDown);

            bookPageButton = new Button(_canvas);
            bookPageButton.Text = "Books";
            bookPageButton.SetPos(4, 32);
            bookPageButton.OnDown += new Gwen.Controls.Base.ControlCallback(bookPageButton_OnDown);

            activePageButton = bookPageButton;
            #endregion

            int leftBound = 80;
            smallPageBounds = new System.Drawing.Rectangle(leftBound,leftBound,screenSize.X-leftBound*2,screenSize.Y -leftBound*2);

            #region Name Generator Initialization
            BookNameGenerator.Initialize();
            PersonNameGenerator.Initialize();
            //Have a few books ready for review at beginning of the game
            for (int i = 0; i < 8; i++)
            { Book b = new Book(); }
            #endregion

            GameManager.Initialize();

            guiRenderer.Initialize();

            Notifications.Initialize();

            Book.Initialize();

            Debug.WriteLine("Initialization Complete");
        }