This commit is contained in:
MistEO
2022-08-11 16:46:42 +08:00
6 changed files with 106 additions and 62 deletions

View File

@@ -315,16 +315,16 @@ namespace MeoAsstGui
case "UnsupportedResolution":
connected = false;
mainModel.AddLog(Localization.GetString("ResolutionNotSupported"), "darkred");
mainModel.AddLog(Localization.GetString("ResolutionNotSupported"), LogColor.Error);
break;
case "ResolutionError":
connected = false;
mainModel.AddLog(Localization.GetString("ResolutionAcquisitionFailure"), "darkred");
mainModel.AddLog(Localization.GetString("ResolutionAcquisitionFailure"), LogColor.Error);
break;
case "Reconnecting":
mainModel.AddLog(Localization.GetString("TryToReconnect"), "darkred");
mainModel.AddLog(Localization.GetString("TryToReconnect"), LogColor.Error);
break;
case "Reconnected":
@@ -333,7 +333,7 @@ namespace MeoAsstGui
case "Disconnect":
connected = false;
mainModel.AddLog(Localization.GetString("ReconnectFailed"), "darkred");
mainModel.AddLog(Localization.GetString("ReconnectFailed"), LogColor.Error);
AsstStop();
break;
}
@@ -364,11 +364,11 @@ namespace MeoAsstGui
switch (msg)
{
case AsstMsg.TaskChainError:
mainModel.AddLog(Localization.GetString("TaskError") + taskChain, "darkred");
mainModel.AddLog(Localization.GetString("TaskError") + taskChain, LogColor.Error);
if (taskChain == "Copilot")
{
copilotModel.Idle = true;
copilotModel.AddLog(Localization.GetString("CombatError"), "darkred");
copilotModel.AddLog(Localization.GetString("CombatError"), LogColor.Error);
}
break;
@@ -387,7 +387,7 @@ namespace MeoAsstGui
if (taskChain == "Copilot")
{
copilotModel.Idle = true;
copilotModel.AddLog(Localization.GetString("CompleteCombat"), "darkcyan");
copilotModel.AddLog(Localization.GetString("CompleteCombat"), LogColor.Info);
}
break;
@@ -478,29 +478,29 @@ namespace MeoAsstGui
switch (subTask)
{
case "StartGameTask":
mainModel.AddLog(Localization.GetString("FailedToOpenClient"), "darkred");
mainModel.AddLog(Localization.GetString("FailedToOpenClient"), LogColor.Error);
break;
case "AutoRecruitTask":
{
var why_str = details.TryGetValue("why", out var why) ? why.ToString() : Localization.GetString("ErrorOccurred");
mainModel.AddLog(why_str + "" + Localization.GetString("HasReturned"), "darkred");
mainModel.AddLog(why_str + "" + Localization.GetString("HasReturned"), LogColor.Error);
break;
}
case "RecognizeDrops":
mainModel.AddLog(Localization.GetString("DropRecognitionError"), "darkred");
mainModel.AddLog(Localization.GetString("DropRecognitionError"), LogColor.Error);
break;
case "ReportToPenguinStats":
{
var why = details["why"].ToString();
mainModel.AddLog(why + "" + Localization.GetString("GiveUpUploadingPenguins"), "darkred");
mainModel.AddLog(why + "" + Localization.GetString("GiveUpUploadingPenguins"), LogColor.Error);
break;
}
case "CheckStageValid":
mainModel.AddLog(Localization.GetString("TheEX"), "darkred");
mainModel.AddLog(Localization.GetString("TheEX"), LogColor.Error);
break;
}
}
@@ -519,40 +519,40 @@ namespace MeoAsstGui
{
case "StartButton2":
case "AnnihilationConfirm":
mainModel.AddLog(Localization.GetString("OnTheMove") + $" {execTimes} " + Localization.GetString("UnitTime"), "darkcyan");
mainModel.AddLog(Localization.GetString("OnTheMove") + $" {execTimes} " + Localization.GetString("UnitTime"), LogColor.Info);
break;
case "MedicineConfirm":
mainModel.AddLog(Localization.GetString("MedicineUsed") + $" {execTimes} " + Localization.GetString("UnitTime"), "darkcyan");
mainModel.AddLog(Localization.GetString("MedicineUsed") + $" {execTimes} " + Localization.GetString("UnitTime"), LogColor.Info);
break;
case "StoneConfirm":
mainModel.AddLog(Localization.GetString("StoneUsed") + $" {execTimes} " + Localization.GetString("UnitTime"), "darkcyan");
mainModel.AddLog(Localization.GetString("StoneUsed") + $" {execTimes} " + Localization.GetString("UnitTime"), LogColor.Info);
break;
case "AbandonAction":
mainModel.AddLog(Localization.GetString("ActingCommandError"), "darkred");
mainModel.AddLog(Localization.GetString("ActingCommandError"), LogColor.Error);
break;
case "RecruitRefreshConfirm":
mainModel.AddLog(Localization.GetString("LabelsRefreshed"), "darkcyan");
mainModel.AddLog(Localization.GetString("LabelsRefreshed"), LogColor.Info);
break;
case "RecruitConfirm":
mainModel.AddLog(Localization.GetString("RecruitConfirm"), "darkcyan");
mainModel.AddLog(Localization.GetString("RecruitConfirm"), LogColor.Info);
break;
case "InfrastDormDoubleConfirmButton":
mainModel.AddLog(Localization.GetString("InfrastDormDoubleConfirmed"), "darkred");
mainModel.AddLog(Localization.GetString("InfrastDormDoubleConfirmed"), LogColor.Error);
break;
/* 肉鸽相关 */
case "Roguelike1Start":
mainModel.AddLog(Localization.GetString("BegunToExplore") + $" {execTimes} " + Localization.GetString("UnitTime"), "darkcyan");
mainModel.AddLog(Localization.GetString("BegunToExplore") + $" {execTimes} " + Localization.GetString("UnitTime"), LogColor.Info);
break;
case "Roguelike1StageTraderInvestConfirm":
mainModel.AddLog(Localization.GetString("HasInvested") + $" {execTimes} " + Localization.GetString("UnitTime"), "darkcyan");
mainModel.AddLog(Localization.GetString("HasInvested") + $" {execTimes} " + Localization.GetString("UnitTime"), LogColor.Info);
break;
case "Roguelike1ExitThenAbandon":
@@ -598,15 +598,15 @@ namespace MeoAsstGui
break;
case "Roguelike1StageTraderInvestSystemFull":
mainModel.AddLog(Localization.GetString("UpperLimit"), "darkcyan");
mainModel.AddLog(Localization.GetString("UpperLimit"), LogColor.Info);
break;
case "RestartGameAndContinueFighting":
mainModel.AddLog(Localization.GetString("GameCrash"), "darkgoldenrod");
mainModel.AddLog(Localization.GetString("GameCrash"), LogColor.Warning);
break;
case "OfflineConfirm":
mainModel.AddLog(Localization.GetString("GameDrop"), "darkgoldenrod");
mainModel.AddLog(Localization.GetString("GameDrop"), LogColor.Warning);
break;
}
}
@@ -713,11 +713,11 @@ namespace MeoAsstGui
toast.AppendContentText(new string('★', level)).ShowRecruit(row: 2);
}
mainModel.AddLog(level + " ★ Tags", "darkorange", "Bold");
mainModel.AddLog(level + " ★ Tags", LogColor.RareOperator, "Bold");
}
else
{
mainModel.AddLog(level + " ★ Tags", "darkcyan");
mainModel.AddLog(level + " ★ Tags", LogColor.Info);
}
bool robot = (bool)subTaskDetails["robot"];
@@ -728,7 +728,7 @@ namespace MeoAsstGui
toast.AppendContentText(new string('★', 1)).ShowRecruitRobot(row: 2);
}
mainModel.AddLog(1 + " ★ Tag", "darkgray", "Bold");
mainModel.AddLog(1 + " ★ Tag", LogColor.RobotOperator, "Bold");
}
}
@@ -759,7 +759,7 @@ namespace MeoAsstGui
case "NotEnoughStaff":
{
mainModel.AddLog(Localization.GetString("NotEnoughStaff"), "darkred");
mainModel.AddLog(Localization.GetString("NotEnoughStaff"), LogColor.Error);
}
break;
@@ -774,7 +774,7 @@ namespace MeoAsstGui
case "StageInfoError":
{
mainModel.AddLog(Localization.GetString("StageInfoError"), "darkred");
mainModel.AddLog(Localization.GetString("StageInfoError"), LogColor.Error);
}
break;
@@ -807,7 +807,7 @@ namespace MeoAsstGui
if (doc.Length != 0)
{
string color = subTaskDetails["doc_color"].ToString();
copilotModel.AddLog(doc, color.Length == 0 ? "dark" : color);
copilotModel.AddLog(doc, color.Length == 0 ? LogColor.Message : color);
}
var action = subTaskDetails["action"].ToString();
@@ -822,14 +822,14 @@ namespace MeoAsstGui
case "BattleActionDoc":
// {
// string title_color = subTaskDetails["title_color"].ToString();
// copilotModel.AddLog(subTaskDetails["title"].ToString(), title_color.Length == 0 ? "dark" : title_color);
// copilotModel.AddLog(subTaskDetails["title"].ToString(), title_color.Length == 0 ? LogColor.Message : title_color);
// string details_color = subTaskDetails["details_color"].ToString();
// copilotModel.AddLog(subTaskDetails["details"].ToString(), details_color.Length == 0 ? "dark" : details_color);
// copilotModel.AddLog(subTaskDetails["details"].ToString(), details_color.Length == 0 ? LogColor.Message : details_color);
// }
break;
case "UnsupportedLevel":
mainModel.AddLog(Localization.GetString("UnsupportedLevel"), "darkred");
mainModel.AddLog(Localization.GetString("UnsupportedLevel"), LogColor.Error);
break;
}
}

View File

@@ -0,0 +1,43 @@
namespace MeoAsstGui
{
/// <summary>
/// The recommended colors for logs.
/// </summary>
public static class LogColor
{
/// <summary>
/// The recommended color for error logs.
/// </summary>
public const string Error = "DarkRed";
/// <summary>
/// The recommended color for warning logs.
/// </summary>
public const string Warning = "DarkGoldenrod";
/// <summary>
/// The recommended color for info logs.
/// </summary>
public const string Info = "DarkCyan";
/// <summary>
/// The recommended color for trace logs.
/// </summary>
public const string Trace = "Gray";
/// <summary>
/// The recommended color for message logs.
/// </summary>
public const string Message = "Black";
/// <summary>
/// The recommended color for rare operator logs.
/// </summary>
public const string RareOperator = "DarkOrange";
/// <summary>
/// The recommended color for robot operator logs.
/// </summary>
public const string RobotOperator = "DarkGray";
}
}

View File

@@ -27,7 +27,7 @@ namespace MeoAsstGui
/// <param name="content">The content.</param>
/// <param name="color">The font color.</param>
/// <param name="weight">The font weight.</param>
public LogItemViewModel(string content, string color = "Black", string weight = "Regular")
public LogItemViewModel(string content, string color = LogColor.Message, string weight = "Regular")
{
Time = DateTime.Now.ToString("MM'-'dd' 'HH':'mm':'ss") + " ";
this.Content = content;

View File

@@ -108,6 +108,7 @@
<Compile Include="Helper\CombData.cs" />
<Compile Include="Helper\GenericCombData{TValueType}.cs" />
<Compile Include="Helper\Localization.cs" />
<Compile Include="Helper\LogColor.cs" />
<Compile Include="Helper\LogItemViewModel.cs" />
<Compile Include="Helper\MessageBoxManager.cs" />
<Compile Include="Helper\ToastNotification.cs" />

View File

@@ -60,7 +60,7 @@ namespace MeoAsstGui
Localization.GetString("CopilotTip3") + "\n\n" +
Localization.GetString("CopilotTip4") + "\n\n" +
Localization.GetString("CopilotTip5"),
"dark");
LogColor.Message);
}
/// <summary>
@@ -69,7 +69,7 @@ namespace MeoAsstGui
/// <param name="content">The content.</param>
/// <param name="color">The font color.</param>
/// <param name="weight">The font weight.</param>
public void AddLog(string content, string color = "Gray", string weight = "Regular")
public void AddLog(string content, string color = LogColor.Trace, string weight = "Regular")
{
LogItemViewModels.Add(new LogItemViewModel(content, color, weight));
@@ -83,7 +83,7 @@ namespace MeoAsstGui
/// <param name="url">The URL.</param>
/// <param name="color">The font color.</param>
/// <param name="weight">The font weight.</param>
public void AddLogWithUrl(string content, string url, string color = "Gray", string weight = "Regular")
public void AddLogWithUrl(string content, string url, string color = LogColor.Trace, string weight = "Regular")
{
LogItemViewModels.Add(new LogItemViewModel(content, color, weight));
@@ -142,7 +142,7 @@ namespace MeoAsstGui
}
catch (Exception)
{
AddLog(Localization.GetString("CopilotFileReadError"), "DarkRed");
AddLog(Localization.GetString("CopilotFileReadError"), LogColor.Error);
return;
}
}
@@ -187,14 +187,14 @@ namespace MeoAsstGui
}
else
{
AddLog(Localization.GetString("CopilotNoFound"), "DarkRed");
AddLog(Localization.GetString("CopilotNoFound"), LogColor.Error);
return string.Empty;
}
}
}
catch (Exception)
{
AddLog(Localization.GetString("NetworkServiceError"), "DarkRed");
AddLog(Localization.GetString("NetworkServiceError"), LogColor.Error);
return string.Empty;
}
}
@@ -211,7 +211,7 @@ namespace MeoAsstGui
var json = (JObject)JsonConvert.DeserializeObject(jsonStr);
if (json == null || !json.ContainsKey("doc"))
{
AddLog(Localization.GetString("CopilotJsonError"), "DarkRed");
AddLog(Localization.GetString("CopilotJsonError"), LogColor.Error);
return;
}
@@ -225,7 +225,7 @@ namespace MeoAsstGui
if (title.Length != 0)
{
string title_color = "black";
string title_color = LogColor.Message;
if (doc.ContainsKey("title_color"))
{
title_color = doc["title_color"].ToString();
@@ -242,7 +242,7 @@ namespace MeoAsstGui
if (details.Length != 0)
{
string details_color = "black";
string details_color = LogColor.Message;
if (doc.ContainsKey("details_color"))
{
details_color = doc["details_color"].ToString();
@@ -261,12 +261,12 @@ namespace MeoAsstGui
}
}
AddLog(string.Empty, "black");
AddLog(string.Empty, LogColor.Message);
int count = 0;
foreach (JObject oper in json["opers"])
{
count++;
AddLog(string.Format("{0}, {1} 技能", oper["name"], oper["skill"]), "black");
AddLog(string.Format("{0}, {1} 技能", oper["name"], oper["skill"]), LogColor.Message);
}
if (json.ContainsKey("groups"))
@@ -281,11 +281,11 @@ namespace MeoAsstGui
operInfos.Add(string.Format("{0} {1}", oper["name"], oper["skill"]));
}
AddLog(group_name + string.Join(" / ", operInfos), "black");
AddLog(group_name + string.Join(" / ", operInfos), LogColor.Message);
}
}
AddLog(string.Format("共 {0} 名干员", count), "black");
AddLog(string.Format("共 {0} 名干员", count), LogColor.Message);
_curStageName = json["stage_name"].ToString();
_curCopilotData = json.ToString();
@@ -300,7 +300,7 @@ namespace MeoAsstGui
}
catch (Exception)
{
AddLog(Localization.GetString("CopilotJsonError"), "DarkRed");
AddLog(Localization.GetString("CopilotJsonError"), LogColor.Error);
}
}
@@ -345,7 +345,7 @@ namespace MeoAsstGui
{
Filename = string.Empty;
ClearLog();
AddLog(Localization.GetString("NotCopilotJson"), "DarkRed");
AddLog(Localization.GetString("NotCopilotJson"), LogColor.Error);
}
}
@@ -370,7 +370,7 @@ namespace MeoAsstGui
ClearLog();
if (_form)
{
AddLog(Localization.GetString("AutoSquadTip"), "dark");
AddLog(Localization.GetString("AutoSquadTip"), LogColor.Message);
}
AddLog(Localization.GetString("ConnectingToEmulator"));
@@ -384,13 +384,13 @@ namespace MeoAsstGui
_caught = await task;
if (!_caught)
{
AddLog(errMsg, "DarkRed");
AddLog(errMsg, LogColor.Error);
return;
}
if (errMsg.Length != 0)
{
AddLog(errMsg, "DarkRed");
AddLog(errMsg, LogColor.Error);
}
UpdateFileDoc(Filename);
@@ -405,7 +405,7 @@ namespace MeoAsstGui
}
else
{
AddLog(Localization.GetString("CopilotFileReadError") + "\n" + Localization.GetString("CheckTheFile"), "DarkRed");
AddLog(Localization.GetString("CopilotFileReadError") + "\n" + Localization.GetString("CheckTheFile"), LogColor.Error);
}
}

View File

@@ -420,7 +420,7 @@ namespace MeoAsstGui
/// <param name="content">The content.</param>
/// <param name="color">The font color.</param>
/// <param name="weight">The font weight.</param>
public void AddLog(string content, string color = "Gray", string weight = "Regular")
public void AddLog(string content, string color = LogColor.Trace, string weight = "Regular")
{
LogItemViewModels.Add(new LogItemViewModel(content, color, weight));
@@ -649,7 +649,7 @@ namespace MeoAsstGui
bool caught = await task;
if (!caught)
{
AddLog(errMsg, "darkred");
AddLog(errMsg, LogColor.Error);
var settingsModel = _container.Get<SettingsViewModel>();
var subtask = Task.Run(() =>
{
@@ -663,7 +663,7 @@ namespace MeoAsstGui
caught = await task;
if (!caught)
{
AddLog(errMsg, "darkred");
AddLog(errMsg, LogColor.Error);
Idle = true;
return;
}
@@ -884,11 +884,11 @@ namespace MeoAsstGui
bool isSet = asstProxy.AsstSetFightTaskParams(Stage, medicine, stone, times, DropsItemId, drops_quantity);
if (isSet)
{
AddLog(Localization.GetString("SetSuccessfully"), "Black");
AddLog(Localization.GetString("SetSuccessfully"), LogColor.Message);
}
else
{
AddLog(Localization.GetString("SetFailed"), "Red");
AddLog(Localization.GetString("SetFailed"), LogColor.Error);
}
}
@@ -1151,7 +1151,7 @@ namespace MeoAsstGui
var asstProxy = _container.Get<AsstProxy>();
if (!asstProxy.AsstStartCloseDown())
{
AddLog(Localization.GetString("CloseArknightsFailed"), "DarkRed");
AddLog(Localization.GetString("CloseArknightsFailed"), LogColor.Error);
}
break;
@@ -1166,7 +1166,7 @@ namespace MeoAsstGui
case ActionType.ExitEmulator:
if (!killEumlatorbyWindow())
{
AddLog(Localization.GetString("CloseEmulatorFailed"), "DarkRed");
AddLog(Localization.GetString("CloseEmulatorFailed"), LogColor.Error);
}
break;
@@ -1174,7 +1174,7 @@ namespace MeoAsstGui
case ActionType.ExitEmulatorAndSelf:
if (!killEumlatorbyWindow())
{
AddLog(Localization.GetString("CloseEmulatorFailed"), "DarkRed");
AddLog(Localization.GetString("CloseEmulatorFailed"), LogColor.Error);
}
// Shutdown 会调用 OnExit 但 Exit 不会
@@ -1203,7 +1203,7 @@ namespace MeoAsstGui
case ActionType.Hibernate:
// 休眠提示
AddLog(Localization.GetString("HibernatePrompt"), "DarkRed");
AddLog(Localization.GetString("HibernatePrompt"), LogColor.Error);
// 休眠不能加时间参数https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/1133
Process.Start("shutdown.exe", "-h");