This commit is contained in:
Hakoyu 2023-12-11 02:39:59 +08:00
parent 55739b6258
commit 434dee0599
4 changed files with 27 additions and 2 deletions

View File

@ -140,8 +140,8 @@ public class FoodModel : I18nModel<I18nFoodModel>
public FoodModel(Food food) public FoodModel(Food food)
: this() : this()
{ {
Id.Value = food.Name;
DescriptionId.Value = food.Desc; DescriptionId.Value = food.Desc;
Id.Value = food.Name;
Graph.Value = food.Graph; Graph.Value = food.Graph;
Type.Value = food.Type; Type.Value = food.Type;
Strength.Value = food.Strength; Strength.Value = food.Strength;
@ -187,6 +187,11 @@ public class FoodModel : I18nModel<I18nFoodModel>
return food; return food;
} }
public void RefreshId()
{
DescriptionId.Value = $"{Id.Value}_{nameof(DescriptionId)}";
}
public void Close() public void Close()
{ {
Image.Value?.StreamSource?.Close(); Image.Value?.StreamSource?.Close();

View File

@ -167,6 +167,12 @@ public class ModInfoModel : I18nModel<I18nModInfoModel>
OtherI18nDatas = loader.OtherI18nDatas; OtherI18nDatas = loader.OtherI18nDatas;
LoadI18nData(); LoadI18nData();
RefreshId();
}
public void RefreshId()
{
DescriptionId.Value = $"{Id.Value}_{nameof(DescriptionId)}";
} }
#region Load #region Load
@ -281,6 +287,7 @@ public class ModInfoModel : I18nModel<I18nModInfoModel>
foodI18n.Name.Value = name; foodI18n.Name.Value = name;
if (i18nData.Value.TryGetValue(food.DescriptionId.Value, out var description)) if (i18nData.Value.TryGetValue(food.DescriptionId.Value, out var description))
foodI18n.Description.Value = description; foodI18n.Description.Value = description;
food.RefreshId();
} }
foreach (var lowText in LowTexts) foreach (var lowText in LowTexts)
{ {
@ -301,6 +308,7 @@ public class ModInfoModel : I18nModel<I18nModInfoModel>
selectTextI18n.Text.Value = text; selectTextI18n.Text.Value = text;
if (i18nData.Value.TryGetValue(selectText.ChooseId.Value, out var choose)) if (i18nData.Value.TryGetValue(selectText.ChooseId.Value, out var choose))
selectTextI18n.Choose.Value = choose; selectTextI18n.Choose.Value = choose;
selectText.RefreshId();
} }
foreach (var pet in Pets) foreach (var pet in Pets)
{ {
@ -311,6 +319,7 @@ public class ModInfoModel : I18nModel<I18nModInfoModel>
petI18n.PetName.Value = petName; petI18n.PetName.Value = petName;
if (i18nData.Value.TryGetValue(pet.DescriptionId.Value, out var description)) if (i18nData.Value.TryGetValue(pet.DescriptionId.Value, out var description))
petI18n.Description.Value = description; petI18n.Description.Value = description;
pet.RefreshId();
foreach (var work in pet.Works) foreach (var work in pet.Works)
{ {
var workI18n = work.I18nDatas[i18nData.Key]; var workI18n = work.I18nDatas[i18nData.Key];

View File

@ -192,6 +192,12 @@ public class PetModel : I18nModel<I18nPetInfoModel>
Moves.Add(new(move)); Moves.Add(new(move));
} }
public void RefreshId()
{
PetNameId.Value = $"{Id.Value}_{nameof(PetNameId)}";
DescriptionId.Value = $"{Id.Value}_{nameof(DescriptionId)}";
}
public void Close() public void Close()
{ {
foreach (var anime in Animes) foreach (var anime in Animes)

View File

@ -125,8 +125,8 @@ public class SelectTextModel : I18nModel<I18nSelectTextModel>
public SelectTextModel(SelectText text) public SelectTextModel(SelectText text)
: this() : this()
{ {
Id.Value = text.Text;
ChooseId.Value = text.Choose ?? string.Empty; ChooseId.Value = text.Choose ?? string.Empty;
Id.Value = text.Text;
Mode.EnumValue.Value = text.Mode; Mode.EnumValue.Value = text.Mode;
Tags.Value = text.Tags is null ? string.Empty : string.Join(", ", text.Tags); Tags.Value = text.Tags is null ? string.Empty : string.Join(", ", text.Tags);
ToTags.Value = text.ToTags is null ? string.Empty : string.Join(", ", text.ToTags); ToTags.Value = text.ToTags is null ? string.Empty : string.Join(", ", text.ToTags);
@ -140,6 +140,11 @@ public class SelectTextModel : I18nModel<I18nSelectTextModel>
Strength = new(text.StrengthMin, text.StrengthMax); Strength = new(text.StrengthMin, text.StrengthMax);
} }
public void RefreshId()
{
ChooseId.Value = $"{Id.Value}_{nameof(ChooseId)}";
}
private readonly static char[] rs_splitChar = { ',', ' ' }; private readonly static char[] rs_splitChar = { ',', ' ' };
public SelectText ToSelectText() public SelectText ToSelectText()