Example #1
0
        private void OnDeleteCancelled()
        {
            this.deleting = null;

            ConfirmationWindow.Instance.Cancelled -= OnDeleteCancelled;
            ConfirmationWindow.Instance.Confirmed -= OnDeleteConfirmed;
        }
Example #2
0
        private void editCharacter(object sender, RoutedEventArgs e)
        {
            CharacterRow selected = (CharacterRow)this.partyList.SelectedItem;

            if (selected == null)
            {
                return;
            }
            String          defaultName = this.getDefaultCharacterName();
            CharacterWindow cw          = new CharacterWindow(defaultName);

            cw.setExisting(selected.name, selected.level, selected.unspentXp);
            cw.ShowDialog();
            if (!cw.isValid())
            {
                return;
            }
            String name = cw.name;

            if ((cw.name != selected.name) && (this.nameInUse(cw.name)))
            {
                name = selected.name;
                MessageBox.Show("The name '" + cw.name + "' is already in use; name reverted to " + name);
            }
            this.partyChanged  = true;
            selected.name      = name;
            selected.level     = cw.level;
            selected.totalXp   = cw.totalXp;
            selected.unspentXp = cw.unspentXp;
            SortDescription sd = this.partyList.Items.SortDescriptions[0];

            this.partyList.Items.SortDescriptions.Clear();
            this.partyList.Items.SortDescriptions.Add(sd);
        }
        private BackgroundElement CreateP1BackgroundGUI(VisualElement root, CharacterRow character)
        {
            var backgroundElem = new BackgroundElement("P1-Background")
            {
                value = character.P1Background
            };

            root.Add(backgroundElem);

            return(backgroundElem);
        }
        private ModelElement CreateP1GUI(VisualElement root, CharacterRow character)
        {
            var modelElem = new ModelElement("P1")
            {
                value = character.P1
            };

            root.Add(modelElem);

            return(modelElem);
        }
        private AvatarElement CreateAvatarGUI(VisualElement root, CharacterRow character)
        {
            var avatarElem = new AvatarElement("Avatar")
            {
                value = character.Avatar
            };

            root.Add(avatarElem);

            return(avatarElem);
        }
Example #6
0
        private void removeCharacter(object sender, RoutedEventArgs e)
        {
            CharacterRow selected = (CharacterRow)this.partyList.SelectedItem;

            if (selected == null)
            {
                return;
            }
            this.partyChanged = true;
            this.partyList.Items.Remove(selected);
            this.partyList.Items.Refresh();
        }
Example #7
0
        private void OnCharacterClicked(CharacterRow characterRow)
        {
            if (this.selected != null)
            {
                this.selected.Deselect();
            }

            this.selected = characterRow;
            this.selected.Select();

            SelectCharacter?.Invoke(this.selected.Character);
        }
Example #8
0
        private void OnCharacterDelete(CharacterRow characterRow)
        {
            OnCharacterClicked(characterRow);

            this.deleting = characterRow;

            ConfirmationWindow.Instance.Cancelled += OnDeleteCancelled;
            ConfirmationWindow.Instance.Confirmed += OnDeleteConfirmed;
            ConfirmationWindow.Instance.Show(
                I18N.Instance.Get("ui_confirm_delete_x").ToString(characterRow.Character.Name),
                I18N.Instance.Get("ui_delete")
                );
        }
        private CharacterAsset Parse(Parser <VscRow> parser, string csvData, CharacterAsset asset, List <string> languages)
        {
            var enumerator = parser.Parse(csvData).GetEnumerator();
            var row        = 0;
            var error      = string.Empty;
            var logger     = new StringBuilder();

            CharacterRow character = null;

            while (enumerator.MoveNext())
            {
                if (!enumerator.Current.IsValid)
                {
                    error = enumerator.Current.Error.ToString();
                    break;
                }

                var vscRow = enumerator.Current.Result;
                row = enumerator.Current.RowIndex + 1;

                character = vscRow.Parse(asset, character, languages, row);

                if (vscRow.IsError)
                {
                    error = vscRow.Error;
                    break;
                }
            }

            if (!string.IsNullOrEmpty(error))
            {
                Debug.LogError($"Vsc row {row}: {error}");
                return(null);
            }

            if (logger.Length > 0)
            {
                Debug.LogError(logger);
            }

            return(asset);
        }
Example #10
0
        private void doPartyLoad()
        {
            if (!this.preferences.ContainsKey("partyFile"))
            {
                return;
            }
            DictionaryStore <String, Dictionary <String, int> > partyDict = new DictionaryStore <String, Dictionary <String, int> >(this.preferences["partyFile"]);

            this.partyList.Items.Clear();
            foreach (String name in partyDict.Keys)
            {
                CharacterRow c = new CharacterRow {
                    present   = (partyDict[name]["present"] != 0),
                    name      = name,
                    level     = partyDict[name]["level"],
                    totalXp   = partyDict[name]["level"] * (partyDict[name]["level"] - 1) * 500 + partyDict[name]["xp"],
                    unspentXp = partyDict[name]["xp"]
                };
                this.partyList.Items.Add(c);
            }
            this.partyList.Items.Refresh();
            this.partyChanged = false;
        }
Example #11
0
 private void OnCharacterDoubleClicked(CharacterRow characterRow)
 {
     OnStartButtonPointerUp();
 }
 public CharacterRow Parse(ICharacterData data, CharacterRow character, in Segment <string> languages, int row)
        private CharacterElement CreateCharacterGUI(VisualElement root, CharacterAsset asset, CharacterRow character)
        {
            var contentElems  = new List <ContentElement>();
            var characterElem = new CharacterElement {
                userData = contentElems,
                text     = character.Id.Or("<none>")
            };

            var languages      = new List <string>(asset.Languages);
            var languagesPopup = new LanguagePopup("Language Id", languages, 0);

            languagesPopup.RegisterValueChangedCallback(OnChangeLanguage);
            characterElem.Content.Add(languagesPopup);

            CreateAvatarGUI(characterElem.Content, character);
            CreateP1GUI(characterElem.Content, character);
            CreateP1BackgroundGUI(characterElem.Content, character);
            CreateP2GUI(characterElem.Content, character);
            CreateP2BackgroundGUI(characterElem.Content, character);
            CreateP3GUI(characterElem.Content, character);
            CreateP3BackgroundGUI(characterElem.Content, character);
            CreateContentGUI(characterElem.Content, asset, character, contentElems, languages[0]);

            root.Add(characterElem);
            return(characterElem);
        }
        private ContentElement CreateContentGUI(VisualElement root, CharacterAsset asset, CharacterRow character,
                                                IList <ContentElement> contentElems, string language)
        {
            root.userData = asset;
            var contentText = asset.GetContent(character.ContentId)?.GetLocalization(language);

            if (string.IsNullOrEmpty(contentText))
            {
                return(null);
            }

            var contentElem = new ContentElement {
                userData = character.ContentId,
                value    = contentText,
                label    = "Content"
            };

            contentElems.Add(contentElem);
            root.Add(contentElem);
            return(contentElem);
        }