Merge pull request #1662 from MaaAssistantArknights/revert-1652-feat/gui_json

Revert "feat: 统一gui.json保存的内容,解决本地化不兼容问题"
This commit is contained in:
MistEO
2022-08-25 21:34:07 +08:00
committed by GitHub
4 changed files with 35 additions and 156 deletions

View File

@@ -28,36 +28,10 @@ namespace MeoAsstGui
public DragItemViewModel(string name, string storageKey)
{
this.Name = name;
this.OriginalName = name;
this._isCheckedStorageKey = storageKey + name + ".IsChecked";
this.IsChecked = System.Convert.ToBoolean(ViewStatusStorage.Get(_isCheckedStorageKey, bool.TrueString));
}
/// <summary>
/// Initializes a new instance of the <see cref="DragItemViewModel"/> class.
/// </summary>
/// <param name="name">The name (viewed name).</param>
/// <param name="original_name">The original name (may not be the same as viewed name).</param>
/// <param name="storageKey">The storage key.</param>
public DragItemViewModel(string name, string original_name, string storageKey)
{
this.Name = name;
this.OriginalName = original_name;
this._isCheckedStorageKey = storageKey + original_name + ".IsChecked";
this.IsChecked = System.Convert.ToBoolean(ViewStatusStorage.Get(_isCheckedStorageKey, bool.TrueString));
}
private string _original_name;
/// <summary>
/// Gets or sets the original_name.
/// </summary>
public string OriginalName
{
get { return _original_name; }
set { SetAndNotify(ref _original_name, value); }
}
private string _name;
/// <summary>

View File

@@ -101,26 +101,6 @@ namespace MeoAsstGui
return true;
}
/// <summary>
/// Deletes configuration.
/// </summary>
/// <param name="key">The key.</param>
/// <returns>Whether the operation is successful.</returns>
public static bool Delete(string key)
{
try
{
_viewStatus.Remove(key);
Save();
}
catch (Exception)
{
return false;
}
return true;
}
/// <summary>
/// Saves configuration.
/// </summary>

View File

@@ -119,13 +119,13 @@ namespace MeoAsstGui
/* 基建设置 */
var facility_list = new string[]
{
"Mfg",
"Trade",
"Control",
"Power",
"Reception",
"Office",
"Dorm",
Localization.GetString("Mfg"),
Localization.GetString("Trade"),
Localization.GetString("Control"),
Localization.GetString("Power"),
Localization.GetString("Reception"),
Localization.GetString("Office"),
Localization.GetString("Dorm"),
};
var temp_order_list = new List<DragItemViewModel>(new DragItemViewModel[facility_list.Length]);
@@ -136,11 +136,11 @@ namespace MeoAsstGui
if (!parsed || order < 0)
{
temp_order_list[i] = new DragItemViewModel(Localization.GetString(facility), facility, "Infrast.");
temp_order_list[i] = new DragItemViewModel(facility, "Infrast.");
}
else
{
temp_order_list[order] = new DragItemViewModel(Localization.GetString(facility), facility, "Infrast.");
temp_order_list[order] = new DragItemViewModel(facility, "Infrast.");
}
}
@@ -574,7 +574,7 @@ namespace MeoAsstGui
continue;
}
orderList.Add(_facilityKey[item.OriginalName]);
orderList.Add(_facilityKey[item.Name]);
}
return orderList;
@@ -587,7 +587,7 @@ namespace MeoAsstGui
{
for (int i = 0; i < InfrastItemViewModels.Count; i++)
{
ViewStatusStorage.Set("Infrast.Order." + InfrastItemViewModels[i].OriginalName, i.ToString());
ViewStatusStorage.Set("Infrast.Order." + InfrastItemViewModels[i].Name, i.ToString());
}
}

View File

@@ -153,90 +153,21 @@ namespace MeoAsstGui
}
}
// TODO: Delete this.
/// <summary>
/// Delete old configurations.
/// Note that this feature ought to be removed in later versions.
/// </summary>
public void DeleteOldConfig()
{
string[] saved_list_name_1 = new string[]
{
"WakeUp", "Recruiting", "Base", "Combat", "Visiting", "Mall", "Mission", "AutoRoguelike",
};
foreach (var name in saved_list_name_1)
{
string local_name = Localization.GetString(name);
string check = ViewStatusStorage.Get("TaskQueue." + local_name + ".IsChecked", string.Empty);
string order = ViewStatusStorage.Get("TaskQueue.Order." + local_name, string.Empty);
if (check != string.Empty)
{
ViewStatusStorage.Set("TaskQueue." + name + ".IsChecked", check);
}
if (order != string.Empty)
{
ViewStatusStorage.Set("TaskQueue.Order." + name, order);
}
}
string[] saved_list_name_2 = new string[]
{
"Mfg", "Trade", "Control", "Power", "Reception", "Office", "Dorm",
};
foreach (var name in saved_list_name_2)
{
string local_name = Localization.GetString(name);
string check = ViewStatusStorage.Get("Infrast." + local_name + ".IsChecked", string.Empty);
string order = ViewStatusStorage.Get("Infrast.Order." + local_name, string.Empty);
if (check != string.Empty)
{
ViewStatusStorage.Set("Infrast." + name + ".IsChecked", check);
}
if (order != string.Empty)
{
ViewStatusStorage.Set("Infrast.Order." + name, order);
}
}
string[] old_list_name = new string[]
{
"开始唤醒", "自动公招", "基建换班", "刷理智", "访问好友", "收取信用及购物", "领取日常奖励", "自动肉鸽",
"宿舍", "制造站", "贸易站", "发电站", "会客室", "办公室", "控制中枢",
"ウェイクアップ", "公開求人", "基地仕事", "作戦", "戦友訪問", "FP交換", "報酬受取", "自動ローグ",
"宿舎", "製造所", "貿易所", "発電所", "応接室", "事務所", "制御中枢",
"웨이크업", "공개모집", "기반시설 교대", "작전", "친구 방문", "상점", "일일 퀘스트 보상을 수집", "통합전략",
"숙소", "제조소", "무역소", "발전소", "응접실", "사무실", "제어 센터",
};
foreach (var name in old_list_name)
{
ViewStatusStorage.Delete("TaskQueue." + name + ".IsChecked");
ViewStatusStorage.Delete("TaskQueue.Order." + name);
ViewStatusStorage.Delete("Infrast." + name + ".IsChecked");
ViewStatusStorage.Delete("Infrast.Order." + name);
}
}
/// <summary>
/// Initializes items.
/// </summary>
public void InitializeItems()
{
DeleteOldConfig();
string[] task_list = new string[]
{
"WakeUp",
"Recruiting",
"Base",
"Combat",
"Visiting",
"Mall",
"Mission",
"AutoRoguelike",
Localization.GetString("WakeUp"),
Localization.GetString("Recruiting"),
Localization.GetString("Base"),
Localization.GetString("Combat"),
Localization.GetString("Visiting"),
Localization.GetString("Mall"),
Localization.GetString("Mission"),
Localization.GetString("AutoRoguelike"),
};
ActionAfterCompletedList = new List<GenericCombData<ActionType>>
{
@@ -258,8 +189,8 @@ namespace MeoAsstGui
int order;
bool parsed = int.TryParse(ViewStatusStorage.Get("TaskQueue.Order." + task, "-1"), out order);
var vm = new DragItemViewModel(Localization.GetString(task), task, "TaskQueue.");
if (task == "AutoRoguelike")
var vm = new DragItemViewModel(task, "TaskQueue.");
if (task == Localization.GetString("AutoRoguelike"))
{
vm.IsChecked = false;
}
@@ -512,7 +443,7 @@ namespace MeoAsstGui
{
foreach (var item in TaskItemViewModels)
{
if (item.OriginalName == "AutoRoguelike")
if (item.Name == Localization.GetString("AutoRoguelike"))
{
continue;
}
@@ -675,7 +606,7 @@ namespace MeoAsstGui
{
foreach (var item in TaskItemViewModels)
{
if (item.OriginalName == "AutoRoguelike")
if (item.Name == Localization.GetString("AutoRoguelike"))
{
continue;
}
@@ -704,16 +635,6 @@ namespace MeoAsstGui
Idle = false;
// 点击开始后先保存两大顺序:任务顺序和基建顺序
// TODO: optimize me: 要不要改成类似 check在拖动后保存
int index = 0;
foreach (var item in TaskItemViewModels)
{
ViewStatusStorage.Set("TaskQueue.Order." + item.OriginalName, index.ToString());
++index;
}
_container.Get<SettingsViewModel>().SaveInfrastOrderList();
ClearLog();
AddLog(Localization.GetString("ConnectingToEmulator"));
@@ -757,43 +678,47 @@ namespace MeoAsstGui
// 直接遍历TaskItemViewModels里面的内容是排序后的
int count = 0;
int index = 0;
foreach (var item in TaskItemViewModels)
{
ViewStatusStorage.Set("TaskQueue.Order." + item.Name, index.ToString());
++index;
if (item.IsChecked == false)
{
continue;
}
++count;
if (item.OriginalName == "Base")
if (item.Name == Localization.GetString("Base"))
{
ret &= appendInfrast();
}
else if (item.OriginalName == "WakeUp")
else if (item.Name == Localization.GetString("WakeUp"))
{
ret &= appendStart();
}
else if (item.OriginalName == "Combat")
else if (item.Name == Localization.GetString("Combat"))
{
ret &= appendFight();
}
else if (item.OriginalName == "Recruiting")
else if (item.Name == Localization.GetString("Recruiting"))
{
ret &= appendRecruit();
}
else if (item.OriginalName == "Visiting")
else if (item.Name == Localization.GetString("Visiting"))
{
ret &= asstProxy.AsstAppendVisit();
}
else if (item.OriginalName == "Mall")
else if (item.Name == Localization.GetString("Mall"))
{
ret &= appendMall();
}
else if (item.OriginalName == "Mission")
else if (item.Name == Localization.GetString("Mission"))
{
ret &= asstProxy.AsstAppendAward();
}
else if (item.OriginalName == "AutoRoguelike")
else if (item.Name == Localization.GetString("AutoRoguelike"))
{
ret &= appendRoguelike();
}