public string FormatMessage(LevelOpData lvl, MissionData[] mda) { // Get level data // Get op data // For each mission, get mission data (optionally suppressing missions that haven't started) // For each goal in each mission, get goal data // If count required is one, display counts as bool instead // For each end, get end data return(FormatSummary(lvl) + FormatMissions(mda)); }
/* * public string FormatDebugSummary (LevelOpData lvl) { * string st01 = string.Format ("Level Description: {0}\n", lvl.LevelDescription); * string st02 = string.Format ("Map File: {0}\n", lvl.MapName); * string st03 = string.Format ("Operation File: {0}\n", lvl.OpName); * string st04 = string.Format ("Player File: {0}*\n", lvl.PlayerName); * string st05 = string.Format ("Map Count: {0}\n", lvl.MapOverlayCount); * string st06 = string.Format ("Operation Description: {0}\n", lvl.OpDescription); * string st07 = string.Format ("Starting Info: {0}\n", lvl.StartingInfo); * string st08 = string.Format ("Mission Count: {0}\n", lvl.MissionCount); * return st01 + st02 + st03 + st04 + st05 + st06 + st07 + st08; * } * * public string FormatDebugMissions (MissionData[] mda) { * string str = ""; * string spacer = "------------------------\n"; * foreach (MissionData md in mda) { * string st01 = string.Format ("Mission Title: {0}\n", md.Title); * string st02 = string.Format ("Description: {0}\n", md.Description); * string st03 = string.Format ("Start Message: {0}\n", md.StartMessage); * string st04 = string.Format ("Win Message: {0}\n", md.WinMessage); * string st05 = string.Format ("Lose Message: {0}\n", md.LoseMessage); * string st05a = string.Format ("Operation name: {0}\n", md.Opname); * string st06 = string.Format ("Status: {0}\n", md.CurrentStatus); * string st07 = string.Format ("Active: {0}\n", md.IsActive); * string st08 = string.Format ("Registry Index: {0}\n", md.RegistryIndex); * string st09 = string.Format ("Actual Index: {0}\n", md.ActualIndex); * str = str + spacer + st01 + st02 + st03 + st04 + st05 + st05a + st06 + st07 + st08 + st09; * } * return str; * } * */ public string FormatSummary(LevelOpData lvl) { string st01 = string.Format("Level Description: {0}\n\n", lvl.LevelDescription); string st02 = string.Format("Location: {0}\n", lvl.MapName); string st03 = string.Format("Operation: {0}\n", lvl.OpName); string st06 = string.Format("Operation: {0}\n", lvl.OpDescription); string st08 = string.Format("Missions in the Op: {0}\n", lvl.MissionCount); return(st01 + st02 + st03 + st06 + st08); }
// Local methods public LevelOpData GatherSummary() { LevelOpData smy = new LevelOpData(); LevelManager lm = Registry.only.GetObject <LevelManager> (); OperationManager opm = Registry.only.GetObject <OperationManager> (); smy.LevelDescription = lm.Description; smy.MapName = lm.MapOverlayName; smy.OpName = lm.OperationOverlayName; smy.PlayerName = lm.DefaultPlayerName; if (lm.MapOverlayNames == null) { smy.MapOverlayCount = 0; } else { smy.MapOverlayCount = lm.MapOverlayNames.Length; } smy.OpDescription = opm.OperationDescription; smy.StartingInfo = opm.StartingInfo; smy.MissionCount = opm.Missions.Length; smy.OpStatus = Status.active; return(smy); }