From 434dee059987cf5f1c874697d4a0f0c6a013e3d7 Mon Sep 17 00:00:00 2001 From: Hakoyu Date: Mon, 11 Dec 2023 02:39:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VPet.ModMaker/Models/ModModel/FoodModel.cs | 7 ++++++- VPet.ModMaker/Models/ModModel/ModInfoModel.cs | 9 +++++++++ VPet.ModMaker/Models/ModModel/PetModel.cs | 6 ++++++ VPet.ModMaker/Models/ModModel/SelectTextModel.cs | 7 ++++++- 4 files changed, 27 insertions(+), 2 deletions(-) diff --git a/VPet.ModMaker/Models/ModModel/FoodModel.cs b/VPet.ModMaker/Models/ModModel/FoodModel.cs index 8c03954..9d617f9 100644 --- a/VPet.ModMaker/Models/ModModel/FoodModel.cs +++ b/VPet.ModMaker/Models/ModModel/FoodModel.cs @@ -140,8 +140,8 @@ public class FoodModel : I18nModel public FoodModel(Food food) : this() { - Id.Value = food.Name; DescriptionId.Value = food.Desc; + Id.Value = food.Name; Graph.Value = food.Graph; Type.Value = food.Type; Strength.Value = food.Strength; @@ -187,6 +187,11 @@ public class FoodModel : I18nModel return food; } + public void RefreshId() + { + DescriptionId.Value = $"{Id.Value}_{nameof(DescriptionId)}"; + } + public void Close() { Image.Value?.StreamSource?.Close(); diff --git a/VPet.ModMaker/Models/ModModel/ModInfoModel.cs b/VPet.ModMaker/Models/ModModel/ModInfoModel.cs index 9b4efc5..aee69a6 100644 --- a/VPet.ModMaker/Models/ModModel/ModInfoModel.cs +++ b/VPet.ModMaker/Models/ModModel/ModInfoModel.cs @@ -167,6 +167,12 @@ public class ModInfoModel : I18nModel OtherI18nDatas = loader.OtherI18nDatas; LoadI18nData(); + RefreshId(); + } + + public void RefreshId() + { + DescriptionId.Value = $"{Id.Value}_{nameof(DescriptionId)}"; } #region Load @@ -281,6 +287,7 @@ public class ModInfoModel : I18nModel foodI18n.Name.Value = name; if (i18nData.Value.TryGetValue(food.DescriptionId.Value, out var description)) foodI18n.Description.Value = description; + food.RefreshId(); } foreach (var lowText in LowTexts) { @@ -301,6 +308,7 @@ public class ModInfoModel : I18nModel selectTextI18n.Text.Value = text; if (i18nData.Value.TryGetValue(selectText.ChooseId.Value, out var choose)) selectTextI18n.Choose.Value = choose; + selectText.RefreshId(); } foreach (var pet in Pets) { @@ -311,6 +319,7 @@ public class ModInfoModel : I18nModel petI18n.PetName.Value = petName; if (i18nData.Value.TryGetValue(pet.DescriptionId.Value, out var description)) petI18n.Description.Value = description; + pet.RefreshId(); foreach (var work in pet.Works) { var workI18n = work.I18nDatas[i18nData.Key]; diff --git a/VPet.ModMaker/Models/ModModel/PetModel.cs b/VPet.ModMaker/Models/ModModel/PetModel.cs index fd0092a..5492343 100644 --- a/VPet.ModMaker/Models/ModModel/PetModel.cs +++ b/VPet.ModMaker/Models/ModModel/PetModel.cs @@ -192,6 +192,12 @@ public class PetModel : I18nModel Moves.Add(new(move)); } + public void RefreshId() + { + PetNameId.Value = $"{Id.Value}_{nameof(PetNameId)}"; + DescriptionId.Value = $"{Id.Value}_{nameof(DescriptionId)}"; + } + public void Close() { foreach (var anime in Animes) diff --git a/VPet.ModMaker/Models/ModModel/SelectTextModel.cs b/VPet.ModMaker/Models/ModModel/SelectTextModel.cs index 022ad17..e745f94 100644 --- a/VPet.ModMaker/Models/ModModel/SelectTextModel.cs +++ b/VPet.ModMaker/Models/ModModel/SelectTextModel.cs @@ -125,8 +125,8 @@ public class SelectTextModel : I18nModel public SelectTextModel(SelectText text) : this() { - Id.Value = text.Text; ChooseId.Value = text.Choose ?? string.Empty; + Id.Value = text.Text; Mode.EnumValue.Value = text.Mode; Tags.Value = text.Tags is null ? string.Empty : string.Join(", ", text.Tags); ToTags.Value = text.ToTags is null ? string.Empty : string.Join(", ", text.ToTags); @@ -140,6 +140,11 @@ public class SelectTextModel : I18nModel Strength = new(text.StrengthMin, text.StrengthMax); } + public void RefreshId() + { + ChooseId.Value = $"{Id.Value}_{nameof(ChooseId)}"; + } + private readonly static char[] rs_splitChar = { ',', ' ' }; public SelectText ToSelectText()