using System; using System.Linq; using System.Text; public class DivertPowerTask : NormalPlayerTask { public SystemTypes TargetSystem; public override bool ValidConsole(global::Console console) { return (console.Room == this.TargetSystem && console.ValidTasks.Any((TaskSet set) => this.TaskType == set.taskType && set.taskStep.Contains(this.taskStep))) || (this.taskStep == 0 && console.TaskTypes.Contains(this.TaskType)); } public override void AppendTaskText(StringBuilder sb) { if (this.taskStep > 0) { if (this.IsComplete) { sb.Append("[00DD00FF]"); } else { sb.Append("[FFFF00FF]"); } } if (this.taskStep == 0) { sb.Append(DestroyableSingleton.Instance.GetString(this.StartAt)); sb.Append(": "); sb.Append(DestroyableSingleton.Instance.GetString(StringNames.DivertPowerTo, Array.Empty())); sb.Append(" "); sb.Append(DestroyableSingleton.Instance.GetString(this.TargetSystem)); } else { sb.Append(DestroyableSingleton.Instance.GetString(this.TargetSystem)); sb.Append(": "); sb.Append(DestroyableSingleton.Instance.GetString(StringNames.AcceptDivertedPower, Array.Empty())); } sb.Append(" ("); sb.Append(this.taskStep); sb.Append("/"); sb.Append(this.MaxStep); sb.AppendLine(")"); if (this.taskStep > 0) { sb.Append("[]"); } } }