// --------------------------------------------------------------------------------------------------------------------------------

        public override void SetTextToActiveLanguage()
        {
            if (_shownLanguage == PAPIApplication.GetLanguage() && _cachedPlayerName == PAPIApplication.GetPlayer()._name)
            {
                return;
            }
            _cachedPlayerName = PAPIApplication.GetPlayer()._name;

            using (ResXResourceSet resSet = new ResXResourceSet(GetTranslationFile()))
            {
                Translate(resSet, language_label);
                Translate(resSet, design_label);
                Translate(resSet, return_button);
                Translate(resSet, player_name_label);
                Translate(resSet, player_id_label);
                playerName_inputField.Text = _cachedPlayerName;
                player_id_textbox.Text     = PAPIApplication.GetPlayer()._id;
                design_dropdown.Items[0]   = TranslatedEnum(resSet, DesignEnum.PAPYRUS);
                design_dropdown.Items[1]   = TranslatedEnum(resSet, DesignEnum.DIGITAL);
                design_dropdown.Items[2]   = TranslatedEnum(resSet, DesignEnum.NOVEL);
                language_dropdown.Items[0] = TranslatedEnum(resSet, LanguageEnum.ENGLISH);
                language_dropdown.Items[1] = TranslatedEnum(resSet, LanguageEnum.GERMAN);
            }
            WfLogger.Log(this, LogLevel.DEBUG, "All text set to " + PAPIApplication.GetLanguage());
        }
        // --------------------------------------------------------------------------------------------------------------------------------

        /// <summary>
        /// Set all text in this view to the language which was set in the settings
        /// </summary>
        public override void SetTextToActiveLanguage()
        {
            if (_shownLanguage == PAPIApplication.GetLanguage() && _lastClickTranslated)
            {
                return;
            }
            _shownLanguage = PAPIApplication.GetLanguage();

            using (ResXResourceSet resSet = new ResXResourceSet(GetTranslationFile()))
            {
                Translate(resSet, return_button);
                Translate(resSet, selection_label);
                Translate(resSet, description_label);
                Translate(resSet, game_selection_button);
                Translate(resSet, character_selection_button);
                Translate(resSet, item_selection_button);
                Translate(resSet, vehicle_selection_button);
                Translate(resSet, building_selection_button);
                Translate(resSet, open_creator_button);
                if (selection_description_label.Text == "selection_description")
                {
                    selection_description_label.Text = "";
                }

                if (_lastClicked != null)
                {
                    selection_description_label.Text = TranslatedString(resSet, _lastClicked.Name + "_DESCRIPTION");
                    _lastClickTranslated             = true;
                }
            }

            WfLogger.Log(this, LogLevel.DEBUG, "All text of start view set to " + PAPIApplication.GetLanguage());
        }
        // --------------------------------------------------------------------------------------------------------------------------------

        private void designDropdown_SelectedIndexChanged(object sender, EventArgs e)
        {
            DesignEnum chosenDesign = PAPIApplication.GetDesign();

            switch (design_dropdown.SelectedIndex)
            {
            case 0:
                chosenDesign = DesignEnum.PAPYRUS;
                break;

            case 1:
                chosenDesign = DesignEnum.DIGITAL;
                break;

            case 2:
                chosenDesign = DesignEnum.NOVEL;
                break;

            default:
                break;
            }
            if (chosenDesign != PAPIApplication.GetDesign())
            {
                PAPIApplication.SetDesign(chosenDesign);
                WfLogger.Log(this, LogLevel.DEBUG, "Set design to " + PAPIApplication.GetDesign() + " in dropdown");
                SetDesign();
                SetButtonDesign();
            }
        }
Beispiel #4
0
        public Player(string _name, string _id)
        {
            this._name = (_name == null || _name == "") ? "NOT_VALID_FROM_CTOR" : _name;
            this._id   = (_id == null || _id == "") ? PAPIApplication.GetUniqueId() : _id;

            WfLogger.Log(this, LogLevel.DETAILED, "Created new Player " + _name);
        }
Beispiel #5
0
        /* --------------------------------------------------------------------------------------------------------------------------------
         * Functionality removed, but code saved for other views
         * public void AddPlayer(Player player)
         * {
         *  foreach(KeyValuePair<Player, Button> playerButton in players_removeButtons)
         *  {
         *      if(playerButton.Key._id == player._id)
         *      {
         *          WfLogger.Log(this, LogLevel.WARNING, "Add player " + player._name + " not possible, there already is a player with this id");
         *          return;
         *      }
         *  }
         *  WfLogger.Log(this, LogLevel.DEBUG, "Add player " + player._name + " to list of players");
         *
         *  playerListPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, 44));
         *  playerListPanel.RowCount++;
         *
         *  // Show name of player and put it into list
         *  playerListPanel.Controls.Add(new Label()
         *  {
         *      Text = player._name,
         *      Anchor = AnchorStyles.Left | AnchorStyles.Top,
         *      Width = 200
         *  }, 0, players_removeButtons.Count+1);
         *
         *
         *  // Create formatted button and its functionality
         *  Button button = new Button()
         *  {
         *      Text = "",
         *      FlatStyle = FlatStyle.Flat,
         *      Anchor = AnchorStyles.Right | AnchorStyles.Top,
         *      Size = new Size(40, 40),
         *      Name = "removePlayerButton" + (players_removeButtons.Count + 1)
         *  };
         *
         *  string imagePath = GameDirectory.GetFilePath_Images(PAPIApplication.GetDesign()) + "\\cancel.bmp";
         *  Image image = Image.FromFile(imagePath);
         *  button.Image = (Image)(new Bitmap(image, new Size(40, 40)));
         *
         *  playerListPanel.Controls.Add(button, 1, players_removeButtons.Count + 1);
         *  _buttons.Add(button);
         *  button.Click += RemovePlayerButton_Click;
         *
         *  players_removeButtons.Add(player, button);
         *
         *  // Set all rows to same size
         *  foreach (RowStyle rowStyle in playerListPanel.RowStyles)
         *  {
         *      rowStyle.SizeType = SizeType.Absolute;
         *      rowStyle.Height = 44;
         *  }
         *  WfLogger.Log(this, LogLevel.DEBUG, "Added player " + player._name + " to List");
         *  SetButtonDesign();
         * }
         *
         * private void RemovePlayerButton_Click(object sender, EventArgs e)
         * {
         *  string value = ((Button)sender).Name;
         *  Player playerToRemove = null;
         *  foreach(KeyValuePair<Player, Button> playerButton in players_removeButtons)
         *  {
         *      if(playerButton.Value == (Button)sender)
         *      {
         *          playerToRemove = playerButton.Key;
         *          break;
         *      }
         *  }
         *  if (playerToRemove != null)
         *  {
         *      int rowNumber = -1;
         *      foreach(Control control in playerListPanel.Controls)
         *      {
         *          if(control.Text == playerToRemove._name)
         *          {
         *              rowNumber = playerListPanel.GetRow(control);
         *              break;
         *          }
         *      }
         *
         *      WfLogger.Log(this, LogLevel.DEBUG, "Remove Player " + playerToRemove._name + " from List (Number " + rowNumber + ")");
         *      players_removeButtons.Remove(playerToRemove);
         *
         *      TableLayoutHelper.RemoveRowNumber(playerListPanel, rowNumber);
         *  }
         *  else
         *  {
         *      WfLogger.Log(this, LogLevel.WARNING, "For the given Button no player was found, who could be removed");
         *  }
         * }
         */
        // --------------------------------------------------------------------------------------------------------------------------------

        public override void SetTextToActiveLanguage()
        {
            if (_shownLanguage == PAPIApplication.GetLanguage())
            {
                return;
            }

            using (ResXResourceSet resSet = new ResXResourceSet(GetTranslationFile()))
            {
                Translate(resSet, gm_name_label);
                Translate(resSet, game_id_label);
                gm_name.Text    = PAPIApplication.GetPlayer()._name;
                id_textbox.Text = PAPIApplication.GetUniqueId();
                Translate(resSet, cancel_button);
                Translate(resSet, create_and_start_button);
                Translate(resSet, create_and_return_button);
                Translate(resSet, genre_label);
                genreDropdown.Items[0] = TranslatedString(resSet, "GenreEnum_NUCLEAR_FALLOUT");
                genreDropdown.Items[1] = TranslatedString(resSet, "GenreEnum_MEDIEVAL_FANTASY");
                genreDropdown.Items[2] = TranslatedString(resSet, "GenreEnum_MAGICAL_WORLD");
                genreDropdown.Items[3] = TranslatedString(resSet, "GenreEnum_SPACE_OPERA");

                _genreDescriptions.Clear();
                _genreDescriptions.Add(GenreEnum.NUCLEAR_FALLOUT, TranslatedDescription(resSet, "GenreEnum_NUCLEAR_FALLOUT"));
                _genreDescriptions.Add(GenreEnum.MEDIEVAL_FANTASY, TranslatedDescription(resSet, "GenreEnum_MEDIEVAL_FANTASY"));
                _genreDescriptions.Add(GenreEnum.MAGICAL_WORLD, TranslatedDescription(resSet, "GenreEnum_MAGICAL_WORLD"));
                _genreDescriptions.Add(GenreEnum.SPACE_OPERA, TranslatedDescription(resSet, "GenreEnum_SPACE_OPERA"));
                _genreDescriptions.Add(GenreEnum.NOT_VALID, TranslatedDescription(resSet, "GenreEnum_NOT_VALID"));
            }
        }
        // --------------------------------------------------------------------------------------------------------------------------------


        public override void SetTextToActiveLanguage()
        {
            if (_shownLanguage == PAPIApplication.GetLanguage())
            {
                return;
            }

            using (ResXResourceSet resSet = new ResXResourceSet(GetTranslationFile()))
            {
                Translate(resSet, saved_games_label);
                Translate(resSet, return_button);
                Translate(resSet, load_game_button);
                Translate(resSet, game_creator_button);
                Translate(resSet, date_game_creation_label);
                Translate(resSet, genre_label);
                Translate(resSet, date_last_save_label);


                ShowSavedGamesTranslation(resSet);

                /*for (int row = 0; row < _savedGames.Count; ++row)
                 * {
                 *  gameTable.Controls.Add(new Label()
                 *  {
                 *      Text = TranslatedString(resSet, "genre_" + _savedGames[row]._genre.ToString().ToLower()),
                 *      Anchor = AnchorStyles.Left | AnchorStyles.Top,
                 *      Width = 250
                 *  }, 0, row + 1);
                 * }*/
            }
            WfLogger.Log(this, LogLevel.DEBUG, "All text set to " + PAPIApplication.GetLanguage());
        }
        // --------------------------------------------------------------------------------------------------------------------------------

        /// <summary>
        /// Opens the Game Overview
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void startButton_Click(object sender, EventArgs e)
        {
            StartView startView = new StartView();

            startView.Open(this);
            SaveFileManager.Save(PAPIApplication.GetSettings());
        }
        // --------------------------------------------------------------------------------------------------------------------------------

        /// <summary>
        /// Set all text in this view to the language which was set in the settings
        /// </summary>
        public override void SetTextToActiveLanguage()
        {
            if (_shownLanguage == PAPIApplication.GetLanguage() && _playerName == PAPIApplication.GetPlayer()._name)
            {
                return;
            }
            _playerName = PAPIApplication.GetPlayer()._name;

            if (PAPIApplication._isFirstStart) // not valid
            {
                whats_your_name_label.Visible = true;
                welcome_label.Visible         = false;
            }
            else
            {
                whats_your_name_label.Visible = false;
                welcome_label.Visible         = true;
            }

            using (ResXResourceSet resSet = new ResXResourceSet(GetTranslationFile()))
            {
                Translate(resSet, welcome_label);
                welcome_label.Text += ", " + _playerName;
                Translate(resSet, quit_button);
                Translate(resSet, start_button);
                Translate(resSet, options_button);
                Translate(resSet, whats_your_name_label);
            }
        }
        // --------------------------------------------------------------------------------------------------------------------------------

        private void languageDropdown_SelectedIndexChanged(object sender, EventArgs e)
        {
            LanguageEnum chosenLanguage;

            switch (language_dropdown.SelectedIndex)
            {
            case 0:
                chosenLanguage = LanguageEnum.ENGLISH;
                break;

            case 1:
                chosenLanguage = LanguageEnum.GERMAN;
                break;

            default:
                chosenLanguage = LanguageEnum.ENGLISH;
                break;
            }
            if (chosenLanguage != PAPIApplication.GetLanguage())
            {
                PAPIApplication.SetLanguage(chosenLanguage);
                WfLogger.Log(this, LogLevel.DEBUG, "Set language to " + PAPIApplication.GetLanguage() + " in dropdown");
                SetTextToActiveLanguage();
            }
        }
Beispiel #10
0
 private void create_and_return_button_Click(object sender, EventArgs e)
 {
     if (_cachedGenre != GenreEnum.NOT_VALID)
     {
         PAPIApplication.CreateNewGame(_cachedGenre, id_textbox.Text);
         WfLogger.Log(this, LogLevel.DEBUG, "Create Game and return Button clicked, created a new Game (" + _cachedGenre + ")");
         ViewController.gameSelectionView.Open(this);
     }
 }
Beispiel #11
0
        public PAPIGame(GenreEnum _genre, Player _gameMaster, Dictionary <Player, PlayerCharacter> _playerParty, DateTime _dateOfCreation, DateTime _dateOfLastSession,
                        List <UniqueRival> _knownNPCs, string _id)
        {
            this._gameMaster        = (_gameMaster == null) ? PAPIApplication.GetPlayer() : _gameMaster;
            this._genre             = _genre;
            this._playerParty       = (_playerParty == null) ? new Dictionary <Player, PlayerCharacter>() : _playerParty;
            this._dateOfCreation    = (_dateOfCreation == null) ? DateTime.Now : _dateOfCreation;
            this._dateOfLastSession = (_dateOfLastSession == null) ? DateTime.Now : _dateOfLastSession;
            this._knownNPCs         = (_knownNPCs == null) ? new List <UniqueRival>() : _knownNPCs;

            WfLogger.Log(this, LogLevel.DETAILED, "Created new Game (GameMaster " + _gameMaster._name + ", Genre " + _genre + ")");
        }
Beispiel #12
0
 public PAPISkill(string _name, SkillEnum _skillEnum, SkillTypeEnum _skillTypeEnum, Value _value, CharacteristicEnum _characteristicEnum,
                  List <GenreEnum> _availableGenres, bool _isCareer)
 {
     this._skillEnum          = _skillEnum;
     this._name               = (_name == null || _name == "" || _skillEnum != SkillEnum.CUSTOM) ? ("Skill_" + _skillEnum.ToString()) : _name;
     this._skillTypeEnum      = _skillTypeEnum;
     this._value              = (_value._value <MIN_VALUE || _value._value> MAX_VALUE)? this._value = new Value(0, null) : this._value = _value;
     this._characteristicEnum = this._characteristicEnum;
     this._availableGenres    = (_availableGenres == null || _availableGenres.Count == 0) ?
                                new List <GenreEnum>(PAPIApplication.GetAllGenres()) : _availableGenres;
     this._isCareer = _isCareer;
     WfLogger.Log(this, LogLevel.DETAILED, "Skill '" + this._name + "' was created");
 }
        /// <summary>
        /// Sets all text in the popup to the selected language
        /// </summary>
        public override void SetTextToActiveLanguage()
        {
            if (_shownLanguage == PAPIApplication.GetLanguage())
            {
                return;
            }

            using (ResXResourceSet resSet = new ResXResourceSet(GetTranslationFile()))
            {
                Translate(resSet, deleteGameQuestionLabel);
                Translate(resSet, yesButton);
                Translate(resSet, noButton);
            }
        }
Beispiel #14
0
        public Ability(string _nameKey, bool _isActive, string _descriptionKey, List <GenreEnum> _availableGenres,
                       GameTimeIntervalEnum _gameTimeInterval, BookResource _bookResource, bool _isUsable)
        {
            this._nameKey         = (_nameKey == null) ? "INVALID_ABILITY" : _nameKey;
            this._isActive        = _isActive;
            this._descriptionKey  = (_descriptionKey == null) ? "INVALID_DESCRIPTION" : _descriptionKey;
            this._availableGenres = (_availableGenres == null || _availableGenres.Count == 0) ?
                                    this._availableGenres = new List <GenreEnum>(PAPIApplication.GetAllGenres()) : _availableGenres;
            this._gameTimeInterval = _gameTimeInterval;
            this._bookResource     = _bookResource;
            this._isUsable         = _isUsable;

            WfLogger.Log(this, LogLevel.DETAILED, "Ability '" + this._nameKey + "' was created");
        }
        public PAPIItem(string _nameKey, uint _basePrice, uint _encumbrance, uint _rarity, ItemConditionEnum _condition, Dictionary <ItemQuality, uint> _qualities,
                        List <GenreEnum> _availableGenres, string _descriptionKey)
        {
            this._nameKey         = (_nameKey == null || _nameKey == "") ? "INVALID_ITEM" : _nameKey;
            this._basePrice       = _basePrice;
            this._encumbrance     = _encumbrance;
            this._rarity          = (_rarity > 5) ? 5 : _rarity;
            this._condition       = _condition;
            this._qualities       = (_qualities == null) ? new Dictionary <ItemQuality, uint>() : _qualities;
            this._availableGenres = (_availableGenres == null || _availableGenres.Count == 0) ?
                                    new List <GenreEnum>(PAPIApplication.GetAllGenres()) : _availableGenres;
            this._descriptionKey = (_descriptionKey == null) ? "INVALIID_DESCRIPTION" : _descriptionKey;

            WfLogger.Log(this, LogLevel.DETAILED, "PAPIItem '" + this._nameKey + "' was created");
        }
Beispiel #16
0
        private void create_and_start_button_Click(object sender, EventArgs e)
        {
            if (_cachedGenre != GenreEnum.NOT_VALID)
            {
                PAPIApplication.CreateNewGame(_cachedGenre, id_textbox.Text);
                WfLogger.Log(this, LogLevel.DEBUG, "Create ans start Game Button clicked, created a new Game (" + _cachedGenre + ")");

                // Functionality removed, but keeping code for now as a reference

                /*foreach(KeyValuePair<Player, Button> playerButton in players_removeButtons)
                 * {
                 *  PAPIApplication._runningGame.AddPlayer(playerButton.Key);
                 * }*/
                // TODO: change to session overview
            }
        }
Beispiel #17
0
        public Career(string _nameKey, List <GenreEnum> _availableGenres, List <PAPISkill> _careerSkills)
        {
            if (_nameKey == null || _nameKey == "" || _careerSkills.Count < 8)
            {
                _nameKey         = "Career_INVALID_CAREER";
                _availableGenres = new List <GenreEnum>();
                _careerSkills    = new List <PAPISkill>();
                return;
            }
            this._nameKey         = _nameKey;
            this._careerSkills    = new List <PAPISkill>(_careerSkills);
            this._availableGenres = (_availableGenres == null || _availableGenres.Count == 0) ?
                                    new List <GenreEnum>(PAPIApplication.GetAllGenres()) : new List <GenreEnum>(_availableGenres);

            WfLogger.Log(this, LogLevel.DETAILED, "Created new Career " + _nameKey);
        }
        public override void SetTextToActiveLanguage()
        {
            if (_shownLanguage == PAPIApplication.GetLanguage())
            {
                return;
            }

            using (ResXResourceSet resSet = new ResXResourceSet(GetTranslationFile()))
            {
                Translate(resSet, foundPlayerNameLabel);
                Translate(resSet, cancelButton);
                Translate(resSet, addPlayerButton);
                Translate(resSet, searchPlayerButton);
                foundPlayerNameTextbox.Text = "";
            }
            WfLogger.Log(this, LogLevel.DEBUG, "All text set to " + PAPIApplication.GetLanguage());
        }
        // --------------------------------------------------------------------------------------------------------------------------------

        /// <summary>
        /// Translates a control from it's name
        /// </summary>
        /// <param name="resSet"></param>
        /// <param name="control"></param>
        public string Translate(ResXResourceSet resSet, Control control)
        {
            string textToTranslate = "Translation_" + control.Name.ToUpper();
            string text            = resSet.GetString(textToTranslate);

            if (text != null)
            {
                control.Text = text;
            }
            else
            {
                control.Text = control.Name;
            }
            WfLogger.Log(this, LogLevel.DEBUG, "Translated " + control.Name + " to " + control.Text
                         + " (Language = " + PAPIApplication.GetLanguage() + ")");

            return(control.Text);
        }
        // --------------------------------------------------------------------------------------------------------------------------------

        /// <summary>
        /// Sets the desisgn of the buttons to the same as the view
        /// </summary>
        protected void SetButtonDesign()
        {
            foreach (Button button in _buttons)
            {
                button.BackColor = BackColor;
                button.ForeColor = ForeColor;
                button.FlatStyle = FlatStyle.Flat;
                if (button.Text != "")
                {
                    button.Size = new Size(200, 40);
                }
                else
                {
                    button.Size = new Size(40, 40);
                }
            }
            WfLogger.Log(this, LogLevel.DEBUG, "Button design was set to " + PAPIApplication.GetDesign());
        }
        // --------------------------------------------------------------------------------------------------------------------------------

        /// <summary>
        /// Sets the design of the view to the one, that was set in the settings
        /// </summary>
        protected void SetDesign()
        {
            switch (PAPIApplication.GetDesign())
            {
            case DesignEnum.PAPYRUS:
                BackColor = System.Drawing.Color.AntiqueWhite;
                ForeColor = System.Drawing.Color.Black;
                Font      = new Font("Papyrus", 12, FontStyle.Bold);
                break;

            case DesignEnum.DIGITAL:
                BackColor = System.Drawing.Color.Black;
                ForeColor = System.Drawing.Color.Lime;
                Font      = new Font("Consolas", 12);
                break;

            default:
                BackColor = System.Drawing.Color.White;
                ForeColor = System.Drawing.Color.Black;
                Font      = new Font("Calibri", 12);
                break;
            }
            FormBorderStyle = FormBorderStyle.Sizable;
            StartPosition   = FormStartPosition.Manual;
            if (ViewController.lastView != null)
            {
                Location = ViewController.lastView.Location;
                Size     = ViewController.lastView.Size;
            }
            else
            {
                Location = new Point(0, 0);
                Size     = new Size(800, 600);
            }
            WindowState   = FormWindowState.Normal;
            MaximizeBox   = true;
            MinimizeBox   = true;
            ShowIcon      = false;
            ShowInTaskbar = true;
            AutoScaleMode = AutoScaleMode.None;
            ControlBox    = true;
            WfLogger.Log(this, LogLevel.DEBUG, "Design was set to " + PAPIApplication.GetDesign());
            SetButtonDesign();
        }
        // --------------------------------------------------------------------------------------------------------------------------------


        private void Load_Game_Button_Click(object sender, EventArgs e)
        {
            PAPIGame selectedGame = null;

            foreach (KeyValuePair <PAPIGame, Button> gameButton in _gameButtons)
            {
                if (gameButton.Value == (Button)sender)
                {
                    selectedGame = gameButton.Key;
                    break;
                }
            }
            if (selectedGame == null)
            {
                throw new GameNotFoundException("There is no game for the clicked button");
            }
            WfLogger.Log(this, LogLevel.DEBUG, "Button 'Load' was clicked, open Popup");
            PAPIApplication.StartSession(selectedGame);
            ((ShowGameOverviewView)ViewController.showGameOverviewView).Open(this);
        }
Beispiel #23
0
        // --------------------------------------------------------------------------------------------------------------------------------

        public override void SetTextToActiveLanguage()
        {
            if ((_shownLanguage == PAPIApplication.GetLanguage() && PAPIApplication._runningGame != null &&
                 shownGenre == PAPIApplication._runningGame._genre))
            {
                return;
            }

            using (ResXResourceSet resSet = new ResXResourceSet(GetTranslationFile()))
            {
                Translate(resSet, genreLabel);
                if (PAPIApplication._runningGame != null)
                {
                    genreLabel.Text += ": " + TranslatedString(resSet, EnumConverter.Convert(PAPIApplication._runningGame._genre));
                    Translate(resSet, creationDateLabel);
                    creationDateLabel.Text += ": " + PAPIApplication._runningGame._dateOfCreation.ToString();
                    Translate(resSet, lastSaveLabel);
                    lastSaveLabel.Text += ": " + PAPIApplication._runningGame._dateOfLastSession.ToString();
                }
            }
        }
        public CriticalInjury(string _nameKey, uint _lowerBoundD100, uint _upperBoundD100, DifficultyEnum _severity, string _descriptionKey, bool _hasPermanentEffect,
                              BookResource _bookResource, List <GenreEnum> _availableGenres)
        {
            this._nameKey            = (_nameKey == null || _nameKey == "") ? "INVALID_CRITICAL_INJURY" : _nameKey;
            this._lowerBoundD100     = _lowerBoundD100;
            this._upperBoundD100     = (_upperBoundD100 < this._lowerBoundD100) ? this._lowerBoundD100 : _upperBoundD100;
            this._severity           = _severity;
            this._descriptionKey     = (_descriptionKey == null || _descriptionKey == "") ? "INVALID_DESCRIPTION" : _descriptionKey;
            this._hasPermanentEffect = _hasPermanentEffect;
            this._bookResource       = (_bookResource == null) ? new BookResource(RuleBookEnum.NO_RULE_BOOK, 0) : _bookResource;
            this._availableGenres    = (_availableGenres == null || _availableGenres.Count == 0) ? new List <GenreEnum>(PAPIApplication.GetAllGenres()) : _availableGenres;

            WfLogger.Log(this, LogLevel.DETAILED, "Created new Critical Injury " + this._nameKey);
        }
        // --------------------------------------------------------------------------------------------------------------------------------

        /// <summary>
        /// Puts all saved games to the table
        /// </summary>
        private void ShowSavedGamesTranslation(ResXResourceSet resSet)
        {
            // Show all saved Games
            int rowNr = 1;

            foreach (PAPIGame game in _savedGames)
            {
                if (_shownGames.Contains(game))
                {
                    continue;
                }

                WfLogger.Log(this, LogLevel.DEBUG, "Added game to list of saved games: " + game._genre + ", " + game._dateOfLastSession.ToString());

                // Add Genre
                gameTable.Controls.Add(new Label()
                {
                    Text   = TranslatedString(resSet, "genre_" + _savedGames[rowNr - 1]._genre.ToString().ToLower()),
                    Anchor = AnchorStyles.Left | AnchorStyles.Top,
                    Width  = 250
                }, 0, rowNr);

                // Date of creation label
                gameTable.Controls.Add(new Label()
                {
                    Text   = game._dateOfCreation.ToShortDateString(),
                    Anchor = AnchorStyles.Left | AnchorStyles.Top,
                }, 1, rowNr);

                // Date of last save label
                gameTable.Controls.Add(new Label()
                {
                    Text   = game._dateOfLastSession.ToShortDateString(),
                    Anchor = AnchorStyles.Left | AnchorStyles.Top,
                }, 2, rowNr);


                // Add show Game Button to current row
                Button showGameBtn = new Button()
                {
                    Text      = "",
                    FlatStyle = FlatStyle.Flat,
                    Anchor    = AnchorStyles.Right | AnchorStyles.Top,
                    Size      = new Size(40, 40),
                    Name      = "load_game_button_" + rowNr
                };
                string imagePath = GameDirectory.GetFilePath_Images(PAPIApplication.GetDesign()) + "\\show.bmp";
                Image  image     = Image.FromFile(imagePath);
                showGameBtn.Image = (Image)(new Bitmap(image, new Size(40, 40)));
                _gameButtons.Add(game, showGameBtn);
                gameTable.Controls.Add(showGameBtn, 2, rowNr++);
                _buttons.Add(showGameBtn);
                _shownGames.Add(game);
            }

            // Set size of each row to same
            foreach (RowStyle rowStyle in gameTable.RowStyles)
            {
                rowStyle.SizeType = SizeType.Absolute;
                rowStyle.Height   = 44;
            }

            _buttons.Add(return_button);
            _buttons.Add(game_creator_button);
            SetButtonDesign();

            // Add eventhandler for click on every show game button
            foreach (KeyValuePair <PAPIGame, Button> button in _gameButtons)
            {
                button.Value.Click += Load_Game_Button_Click;
            }
        }
        // --------------------------------------------------------------------------------------------------------------------------------

        private void returnButton_Click(object sender, EventArgs e)
        {
            SaveFileManager.Save(PAPIApplication.GetSettings());
            WfLogger.Log(this, LogLevel.DEBUG, "Return button was clicked, options are being saved and view changes to " + ViewController.lastView.GetType());
            ViewController.lastView.Open(this);
        }
Beispiel #27
0
        // --------------------------------------------------------------------------------------------------------------------------------

        /// <summary>
        /// Creates a default game with the current player as game master
        /// </summary>
        public PAPIGame() : this(GenreEnum.NOT_VALID, null, null, DateTime.Now, DateTime.Now, null, PAPIApplication.GetUniqueId())
        {
            WfLogger.Log(this, LogLevel.DETAILED, "Created new default Game");
        }
        // --------------------------------------------------------------------------------------------------------------------------------

        /// <summary>
        /// Returns the filepath of the translation file (Language from settings)
        /// </summary>
        /// <returns></returns>
        public string GetTranslationFile()
        {
            string resFile = GameDirectory.GetTranslationFile(PAPIApplication.GetLanguage());

            return(resFile);
        }
        public Motivation(MotivationTypeEnum _type, string _nameKey, string _descriptionKey, List <GenreEnum> _availableGenres)
        {
            this._type            = _type;
            this._nameKey         = (_nameKey == null || _nameKey == "") ? "INVALID_MOTIVATION" : _nameKey;
            this._descriptionKey  = (_descriptionKey == null || _descriptionKey == "") ? "INVALID_DESCRIPTION" : _descriptionKey;;
            this._availableGenres = (_availableGenres == null || _availableGenres.Count == 0) ? new List <GenreEnum>(PAPIApplication.GetAllGenres()) : _availableGenres;

            WfLogger.Log(this, LogLevel.DETAILED, "Created new Motivation " + this._type + ": " + _nameKey);
        }
 public static PAPIView Start()
 {
     PAPIApplication.Start();
     ((WelcomeView)welcomeView).Open();
     return(welcomeView);
 }