mirror of
https://github.com/LorisYounger/VPet.ModMaker.git
synced 2024-08-30 18:22:21 +00:00
修复 保存图片时图片不存在报错的问题
This commit is contained in:
parent
e5e572fde8
commit
171c49012c
@ -80,6 +80,8 @@ public static class Extensions
|
|||||||
/// <param name="path">路径</param>
|
/// <param name="path">路径</param>
|
||||||
public static void SaveToPng(this BitmapSource image, string path)
|
public static void SaveToPng(this BitmapSource image, string path)
|
||||||
{
|
{
|
||||||
|
if (image is null)
|
||||||
|
return;
|
||||||
if (path.EndsWith(".png") is false)
|
if (path.EndsWith(".png") is false)
|
||||||
path += ".png";
|
path += ".png";
|
||||||
var encoder = new PngBitmapEncoder();
|
var encoder = new PngBitmapEncoder();
|
||||||
|
@ -249,52 +249,51 @@ public class ModInfoModel : I18nModel<I18nModInfoModel>
|
|||||||
if (I18nHelper.Current.CultureNames.Contains(lang) is false)
|
if (I18nHelper.Current.CultureNames.Contains(lang) is false)
|
||||||
I18nHelper.Current.CultureNames.Add(lang);
|
I18nHelper.Current.CultureNames.Add(lang);
|
||||||
}
|
}
|
||||||
if (I18nHelper.Current.CultureNames.Count > 0)
|
if (I18nHelper.Current.CultureNames.Count == 0)
|
||||||
|
return;
|
||||||
|
I18nHelper.Current.CultureName.Value = I18nHelper.Current.CultureNames.First();
|
||||||
|
foreach (var i18nData in OtherI18nDatas)
|
||||||
{
|
{
|
||||||
I18nHelper.Current.CultureName.Value = I18nHelper.Current.CultureNames.First();
|
foreach (var food in Foods)
|
||||||
foreach (var i18nData in OtherI18nDatas)
|
|
||||||
{
|
{
|
||||||
foreach (var food in Foods)
|
var foodI18n = food.I18nDatas[i18nData.Key];
|
||||||
|
if (i18nData.Value.TryGetValue(food.Id.Value, out var name))
|
||||||
|
foodI18n.Name.Value = name;
|
||||||
|
if (i18nData.Value.TryGetValue(food.DescriptionId.Value, out var description))
|
||||||
|
foodI18n.Description.Value = description;
|
||||||
|
}
|
||||||
|
foreach (var lowText in LowTexts)
|
||||||
|
{
|
||||||
|
var lowTextI18n = lowText.I18nDatas[i18nData.Key];
|
||||||
|
if (i18nData.Value.TryGetValue(lowText.Id.Value, out var text))
|
||||||
|
lowTextI18n.Text.Value = text;
|
||||||
|
}
|
||||||
|
foreach (var clickText in ClickTexts)
|
||||||
|
{
|
||||||
|
var clickTextI18n = clickText.I18nDatas[i18nData.Key];
|
||||||
|
if (i18nData.Value.TryGetValue(clickText.Id.Value, out var text))
|
||||||
|
clickTextI18n.Text.Value = text;
|
||||||
|
}
|
||||||
|
foreach (var selectText in SelectTexts)
|
||||||
|
{
|
||||||
|
var selectTextI18n = selectText.I18nDatas[i18nData.Key];
|
||||||
|
if (i18nData.Value.TryGetValue(selectText.Id.Value, out var text))
|
||||||
|
selectTextI18n.Text.Value = text;
|
||||||
|
if (i18nData.Value.TryGetValue(selectText.ChooseId.Value, out var choose))
|
||||||
|
selectTextI18n.Choose.Value = choose;
|
||||||
|
}
|
||||||
|
foreach (var pet in Pets)
|
||||||
|
{
|
||||||
|
var petI18n = pet.I18nDatas[i18nData.Key];
|
||||||
|
if (i18nData.Value.TryGetValue(pet.Id.Value, out var name))
|
||||||
|
petI18n.Name.Value = name;
|
||||||
|
if (i18nData.Value.TryGetValue(pet.DescriptionId.Value, out var description))
|
||||||
|
petI18n.Description.Value = description;
|
||||||
|
foreach (var work in pet.Works)
|
||||||
{
|
{
|
||||||
var foodI18n = food.I18nDatas[i18nData.Key];
|
var workI18n = work.I18nDatas[i18nData.Key];
|
||||||
if (i18nData.Value.TryGetValue(food.Id.Value, out var name))
|
if (i18nData.Value.TryGetValue(work.Id.Value, out var workName))
|
||||||
foodI18n.Name.Value = name;
|
workI18n.Name.Value = workName;
|
||||||
if (i18nData.Value.TryGetValue(food.DescriptionId.Value, out var description))
|
|
||||||
foodI18n.Description.Value = description;
|
|
||||||
}
|
|
||||||
foreach (var lowText in LowTexts)
|
|
||||||
{
|
|
||||||
var lowTextI18n = lowText.I18nDatas[i18nData.Key];
|
|
||||||
if (i18nData.Value.TryGetValue(lowText.Id.Value, out var text))
|
|
||||||
lowTextI18n.Text.Value = text;
|
|
||||||
}
|
|
||||||
foreach (var clickText in ClickTexts)
|
|
||||||
{
|
|
||||||
var clickTextI18n = clickText.I18nDatas[i18nData.Key];
|
|
||||||
if (i18nData.Value.TryGetValue(clickText.Id.Value, out var text))
|
|
||||||
clickTextI18n.Text.Value = text;
|
|
||||||
}
|
|
||||||
foreach (var selectText in SelectTexts)
|
|
||||||
{
|
|
||||||
var selectTextI18n = selectText.I18nDatas[i18nData.Key];
|
|
||||||
if (i18nData.Value.TryGetValue(selectText.Id.Value, out var text))
|
|
||||||
selectTextI18n.Text.Value = text;
|
|
||||||
if (i18nData.Value.TryGetValue(selectText.ChooseId.Value, out var choose))
|
|
||||||
selectTextI18n.Choose.Value = choose;
|
|
||||||
}
|
|
||||||
foreach (var pet in Pets)
|
|
||||||
{
|
|
||||||
var petI18n = pet.I18nDatas[i18nData.Key];
|
|
||||||
if (i18nData.Value.TryGetValue(pet.Id.Value, out var name))
|
|
||||||
petI18n.Name.Value = name;
|
|
||||||
if (i18nData.Value.TryGetValue(pet.DescriptionId.Value, out var description))
|
|
||||||
petI18n.Description.Value = description;
|
|
||||||
foreach (var work in pet.Works)
|
|
||||||
{
|
|
||||||
var workI18n = work.I18nDatas[i18nData.Key];
|
|
||||||
if (i18nData.Value.TryGetValue(work.Id.Value, out var workName))
|
|
||||||
workI18n.Name.Value = workName;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -200,21 +200,21 @@ public class ModEditWindowVM
|
|||||||
if (saveFileDialog.ShowDialog() is true)
|
if (saveFileDialog.ShowDialog() is true)
|
||||||
{
|
{
|
||||||
var pending = PendingBox.Show("保存中".Translate());
|
var pending = PendingBox.Show("保存中".Translate());
|
||||||
try
|
//try
|
||||||
{
|
//{
|
||||||
var path = Path.GetDirectoryName(saveFileDialog.FileName);
|
var path = Path.GetDirectoryName(saveFileDialog.FileName);
|
||||||
ModInfo.Value.SaveTo(path);
|
ModInfo.Value.SaveTo(path);
|
||||||
if (string.IsNullOrWhiteSpace(ModInfo.Value.SourcePath.Value))
|
if (string.IsNullOrWhiteSpace(ModInfo.Value.SourcePath.Value))
|
||||||
ModInfo.Value.SourcePath.Value = path;
|
ModInfo.Value.SourcePath.Value = path;
|
||||||
pending.Close();
|
pending.Close();
|
||||||
MessageBox.Show(ModEditWindow, "保存成功".Translate());
|
MessageBox.Show(ModEditWindow, "保存成功".Translate());
|
||||||
}
|
//}
|
||||||
catch (Exception ex)
|
//catch (Exception ex)
|
||||||
{
|
//{
|
||||||
pending.Close();
|
// pending.Close();
|
||||||
MessageBox.Show($"保存失败 错误信息:\n{0}".Translate(ex));
|
// MessageBox.Show("保存失败 错误信息:\n{0}".Translate(ex));
|
||||||
return;
|
// return;
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
<Button
|
<Button
|
||||||
Grid.Column="1"
|
Grid.Column="1"
|
||||||
Command="{Binding ClearHistoriesCommand}"
|
Command="{Binding ClearHistoriesCommand}"
|
||||||
Content="清空历史" />
|
Content="{ll:Str 清空历史}" />
|
||||||
</Grid>
|
</Grid>
|
||||||
<ListBox
|
<ListBox
|
||||||
Grid.Row="2"
|
Grid.Row="2"
|
||||||
|
Loading…
Reference in New Issue
Block a user