public static List <Request> BuildPersonalAssignment(int sheetId, PersonalAssignment assignment, List <PersonalAssignment> allAssignments) { var requests = new List <Request>(); var sheetName = $"{PersonalAssignmentPrefix}{assignment.Player.Name}"; requests.Add(SetNameRequest(sheetId, assignment)); requests.AddRange(BuildSetOrbRequests(sheetId, assignment.Orb)); requests.AddRange(BuildWarlockStuff(sheetId, assignment)); requests.AddRange(BuildMonkStuff(sheetId, assignment)); requests.AddRange(BuildInterruptRequests(sheetId, assignment.Interrupts)); requests.AddRange(SetTendrilAssignments(sheetId, assignment.Tendril)); requests.Add(SetBurstingBoilAreaRequest(sheetId, assignment.BurstingBoil)); requests.Add(SetP3AreaRequest(sheetId, assignment.PhaseThree)); return(requests); }
private static List <Request> BuildMonkStuff(int sheetId, PersonalAssignment assignment) { var requests = new List <Request>(); if (assignment.Player.Class != PlayerClass.Monk) { requests.Add(SingleValueRequest(sheetId, "N/A", 16, 4)); requests.Add(SingleValueRequest(sheetId, "", 17, 4)); return(requests); } var transcendenceSide = SingleValueRequest(sheetId, assignment.Teleport?.Side.ToString() ?? "N/A", 16, 4); var statueSide = SingleValueRequest(sheetId, assignment.Statue?.Side.ToString() ?? "N/A", 17, 4); requests.Add(transcendenceSide); requests.Add(statueSide); return(requests); }
private static List <Request> BuildWarlockStuff(int sheetId, PersonalAssignment assignment) { var requests = new List <Request>(); if (assignment.Player.Class != PlayerClass.Warlock) { requests.Add(SingleValueRequest(sheetId, "N/A", 16, 1)); requests.Add(SingleValueRequest(sheetId, "", 17, 1)); requests.Add(SingleValueRequest(sheetId, "", 18, 1)); return(requests); } var gatewaySide = SingleValueRequest(sheetId, assignment.Gateway?.Side.ToString() ?? "N/A", 16, 1); var gatewayPosition = SingleValueRequest(sheetId, assignment.Gateway?.Position == GatewayPosition.Close ? "Bottom (Close)" : "Top (Far)" ?? string.Empty, 17, 1); var circleSide = SingleValueRequest(sheetId, assignment.Teleport?.Side.ToString() ?? "N/A", 18, 1); requests.Add(gatewaySide); requests.Add(gatewayPosition); requests.Add(circleSide); return(requests); }
private static Request SetNameRequest(int sheetId, PersonalAssignment assignment) => SingleBoldValueRequest(sheetId, assignment.Player.Name, 0, 1);