public void FillList(IEnumerable <IScienceExperiment> list, ScienceTerminal.DetailPage detailPage) { int i = 0; foreach (var experiment in list) { if (i >= MissionList.childCount) { var newB = GameObject.Instantiate(MissionList.GetChild(0), MissionList); var _this = this; newB.GetComponent <Button>().onClick.AddListener(() => { _this.FillDetail(experiment); }); } Transform child = MissionList.GetChild(i); child.gameObject.SetActive(true); child.GetChild(0).GetComponent <Image>().sprite = experiment.Experiment.Sprite(); child.GetChild(1).GetComponent <Text>().text = experiment.Title(); child.GetChild(2).gameObject.SetActive(experiment.Status == ExperimentStatus.Completed); child.GetChild(3).gameObject.SetActive(experiment.Status == ExperimentStatus.Accepted || experiment.Status == ExperimentStatus.ReadyForCompletion); i++; } for (int j = i; j < MissionList.childCount; j++) { MissionList.GetChild(j).gameObject.SetActive(false); } CurrentPageHeaderText.text = detailPage.ToString().ToUpperInvariant(); }
private void Awake() { missionWorkers = new Dictionary <Mission, MissionWorker>(); notificationManager = NotificationManager.Instance; if (GameSettings.NewGame) { InitDefaultState(); } else { LoadState(); } dayChangedAction += DayChanged; GameTimeDayTickEvent.AddListener(dayChangedAction); onTickAction += onTick; GameTimeTickEvent.AddListener(onTickAction); employeeFiredAction += onEmployeeFired; EmployeeFiredEvent.AddListener(employeeFiredAction); missionList = ModHolder.Instance.GetMissionList(); if (missionList == null) { missionList = ContentHub.Instance.DefaultMissionList; } }
private void Display() { MissionList ml = last_he?.MissionList; missionListCurrent.Clear(); missionListPrevious.Clear(); if (ml != null) { DateTime hetime = last_he.EventTimeUTC; List <MissionState> mcurrent = ml.GetAllCurrentMissions(hetime); foreach (MissionState ms in mcurrent) { missionListCurrent.Add(ms, false); } missionListCurrent.Finish(); List <MissionState> mprev = ml.GetAllExpiredMissions(hetime); var previousRows = new List <DataGridViewRow>(mprev.Count); foreach (MissionState ms in mprev) { missionListPrevious.Add(ms, true); } missionListPrevious.Finish(); } }
private void showMissionsForFactionToolStripMenuItem_Click(object sender, EventArgs e) { int row = dataGridViewFactions.RightClickRow; if (row >= 0) { FactionStatistics fs = dataGridViewFactions.Rows[row].Tag as FactionStatistics; ExtendedControls.ConfigurableForm f = new ExtendedControls.ConfigurableForm(); MissionListUserControl mluc = new MissionListUserControl(); mluc.Clear(); MissionList ml = last_he?.MissionList; DateTime startdateutc = startDateTime.Checked ? EDDConfig.Instance.ConvertTimeToUTCFromSelected(startDateTime.Value) : new DateTime(1980, 1, 1); DateTime enddateutc = endDateTime.Checked ? EDDConfig.Instance.ConvertTimeToUTCFromSelected(endDateTime.Value) : new DateTime(8999, 1, 1); if (ml != null) { foreach (MissionState ms in ml.Missions.Values) { if (ms.State == MissionState.StateTypes.Completed && ms.Completed != null) { if (DateTime.Compare(ms.Completed.EventTimeUTC, startdateutc) >= 0 && DateTime.Compare(ms.Completed.EventTimeUTC, enddateutc) <= 0) { var faction = ms.Mission.Faction; if (faction == fs.Name) { mluc.Add(ms, true); } } } } mluc.Finish(); } string keyname = "UserControlFactionsShowMission"; mluc.dataGridView.LoadColumnSettings(keyname, (a) => EliteDangerousCore.DB.UserDatabase.Instance.GetSettingInt(a, int.MinValue), (b) => EliteDangerousCore.DB.UserDatabase.Instance.GetSettingDouble(b, double.MinValue)); f.Add(new ExtendedControls.ConfigurableForm.Entry(mluc, "Grid", "", new System.Drawing.Point(3, 30), new System.Drawing.Size(800, 400), null) { anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom }); f.AddOK(new Point(800 - 100, 460), "OK", anchor: AnchorStyles.Right | AnchorStyles.Bottom); f.InstallStandardTriggers(); f.AllowResize = true; f.ShowDialogCentred(FindForm(), FindForm().Icon, "Missions for ".T(EDTx.UserControlFactions_MissionsFor) + fs.Name, closeicon: true); mluc.dataGridView.SaveColumnSettings(keyname, (a, b) => EliteDangerousCore.DB.UserDatabase.Instance.PutSettingInt(a, b), (c, d) => EliteDangerousCore.DB.UserDatabase.Instance.PutSettingDouble(c, d)); } }
public void MissionListTest() { var missionList = new MissionList(); for (int i = 0; i < missionList.GetMissionList().Count; i++) { Assert.AreEqual(typeof(string), missionList.GetMissionList()[i].Item1.GetType()); Assert.IsInstanceOf(typeof(IMissions), missionList.GetMissionList()[i].Item2); } }
private void Awake() { missionList = ModHolder.Instance.GetMissionList(); if (missionList == null) { missionList = ContentHub.Instance.DefaultMissionList; } findForceAppearMissions(); }
public void Init(MissionListItem item) { listParent = transform.parent.GetComponent <MissionList>(); mission.text = "Mission Name: " + item.missionName; payloads.text = "Number Of Payloads: " + item.numPayloads; rocket.text = "Rocket Name: " + item.rocketName; country.text = "Country of Origin: " + item.originCountry; ships = item.ships; image.sprite = item.icon; button.onClick.AddListener(LoadShips); activeCoroutines = coroutines = new List <Coroutine>(); }
public FilterEntry(MissionState m) { Type = EntryType.Mission; Name = m.Mission.Name + ":" + m.Mission.Faction; if (m.Mission.Target.Length > 0) { Name += ":" + m.Mission.Target; } starttime = m.Mission.EventTimeUTC; endtime = m.Mission.Expiry; // NOTE expiry time of mission, not used however to gate below, we use Mission MissionKey = MissionList.Key(m.Mission); TargetFaction = m.Mission.TargetFaction; }
internal PlayerModel() { CurrentCargo = new CargoStorage(); Missions = new MissionList(); Statistics = new PlayerStatistics(); LegalRecords = new LegalRecords(); foreach (var allegiance in Enums.All_Allegiances) LegalRecords.Add(allegiance, new LegalRecord()); MilitaryRanks = new MilitaryRecords { { Allegiance.Alliance, new MilitaryRecord() }, { Allegiance.Empire, new MilitaryRecord() } }; IsPlayer = true; }
public async Task ShowUploadOverlay(MissionBase content) { var missions = await MissionList.GetMyMissions(DomainEvilGlobal.SelectedGame.ActiveGame); var vm = _uploadViewModelFactory(); vm.ExistingMissions = missions.Select(x => x.Name).ToList(); vm.UploadNewMission = !missions.Any(); vm.Content = content; MissionUploadViewModel = vm; ShowOverlay(MissionUploadViewModel); }
void ShowMissions(int row) { if (row >= 0) { FactionStatistics fs = dataGridViewFactions.Rows[row].Tag as FactionStatistics; ExtendedControls.ConfigurableForm f = new ExtendedControls.ConfigurableForm(); MissionListUserControl mluc = new MissionListUserControl(); mluc.Clear(); MissionList ml = last_he?.MissionList; if (ml != null) { foreach (MissionState ms in ml.Missions.Values) { if (ms.State == MissionState.StateTypes.Completed && ms.Completed != null) { var faction = ms.Mission.Faction; if (faction == fs.Name) { mluc.Add(ms, true); } } } mluc.Finish(); } f.Add(new ExtendedControls.ConfigurableForm.Entry(mluc, "Grid", "", new System.Drawing.Point(3, 30), new System.Drawing.Size(800, 400), null) { anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom }); f.AddOK(new Point(800 - 100, 460), "OK", anchor: AnchorStyles.Right | AnchorStyles.Bottom); f.Trigger += (dialogname, controlname, xtag) => { if (controlname == "OK" || controlname == "Close") { f.ReturnResult(DialogResult.OK); } }; f.AllowResize = true; f.ShowDialogCentred(this.FindForm(), this.FindForm().Icon, "Missions for ".Tx(EDTx.UserControlMissionAccounting_MissionsFor) + fs.Name, closeicon: true); } }
internal void Merge(IEnumerable <Mission> additional) { foreach (var m in additional) { var existing = MissionList.FirstOrDefault((x) => x.ID == m.ID); if (existing != null) { existing.UnlockTime = m.UnlockTime; // Refresh cycle will trigger PropertyChanged } else { MissionList.Add(m); } } }
static public void MissionInformation(ActionLanguage.ActionProgramRun vars, MissionList ml, string prefix) { vars[prefix + "_MissionCount"] = ml.Missions.Count.ToStringInvariant(); int i = 0; foreach (MissionState ms in ml.Missions.Values) { string mp = prefix + "Mission[" + i.ToStringInvariant() + "]_"; vars[mp + "Name"] = ms.Mission.Name; vars[mp + "NameLocalised"] = ms.Mission.LocalisedName; vars[mp + "ID"] = ms.Mission.MissionId.ToStringInvariant(); vars[mp + "UTC"] = ms.Mission.EventTimeUTC.ToStringUS(); vars[mp + "Local"] = ms.Mission.EventTimeLocal.ToStringUS(); vars[mp + "ExpiryUTC"] = ms.Mission.Expiry.ToStringUS(); vars[mp + "ExpiryLocal"] = ms.Mission.Expiry.ToLocalTime().ToStringUS(); vars[mp + "System"] = ms.OriginatingSystem; vars[mp + "Station"] = ms.OriginatingStation; vars[mp + "Faction"] = ms.Mission.Faction; vars[mp + "DestSystem"] = ms.Mission.DestinationSystem; vars[mp + "DestStation"] = ms.Mission.DestinationStation; vars[mp + "TargetFaction"] = ms.Mission.TargetFaction; vars[mp + "Influence"] = ms.Mission.Influence; vars[mp + "Reputation"] = ms.Mission.Reputation; vars[mp + "Commodity"] = ms.Mission.CommodityLocalised.Alt(ms.Mission.FriendlyCommodity); vars[mp + "Target"] = ms.Mission.TargetLocalised.Alt(ms.Mission.TargetFriendly); vars[mp + "TargetLocalised"] = ms.Mission.TargetLocalised.Alt(ms.Mission.TargetLocalised); vars[mp + "TargetType"] = ms.Mission.TargetTypeLocalised.Alt(ms.Mission.TargetTypeFriendly); vars[mp + "Passengers"] = ms.Mission.PassengerCount.ToStringInvariant(); vars[mp + "Completed"] = (ms.Completed != null).ToStringIntValue(); if (ms.Completed != null) { vars[mp + "Reward"] = ms.Completed.Reward.ToStringInvariant(); vars[mp + "Donation"] = ms.Completed.Donation.ToStringInvariant(); vars[mp + "RewardCommodity"] = ms.Completed.CommoditiesList(false, false); vars[mp + "RewardPermit"] = ms.Completed.PermitsList(false, false); vars[mp + "RewardMaterials"] = ms.Completed.MaterialList(false, false); } i++; } }
void LoadMissions() { if (!Directory.Exists(Locations.ArtemisMissionPath)) { System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(ReLoadMissions)); } else { MissionList.Clear(); DirectoryInfo missionDir = new DirectoryInfo(Locations.ArtemisMissionPath); foreach (FileInfo f in missionDir.GetFiles("MISS_*.xml", SearchOption.AllDirectories)) { big_message m = new big_message(f.FullName); if (m != null) { MissionList.Add(m); } } } }
private void Display() { MissionList ml = last_he?.MissionList; dataGridViewCurrent.Rows.Clear(); dataGridViewPrevious.Rows.Clear(); if (ml != null) { DateTime hetime = last_he.EventTimeUTC; List <MissionState> mcurrent = (from MissionState ms in ml.Missions.Values where ms.InProgressDateTime(hetime) orderby ms.Mission.EventTimeUTC descending select ms).ToList(); var totalReward = 0; foreach (MissionState ms in mcurrent) { object[] rowobj = { JournalFieldNaming.ShortenMissionName(ms.Mission.Name), EDDiscoveryForm.EDDConfig.DisplayUTC ? ms.Mission.EventTimeUTC : ms.Mission.EventTimeLocal, EDDiscoveryForm.EDDConfig.DisplayUTC ? ms.Mission.Expiry : ms.Mission.Expiry.ToLocalTime(), ms.OriginatingSystem + ":" + ms.OriginatingStation, ms.Mission.Faction, ms.DestinationSystemStation(), ms.Mission.TargetFaction, ms.Mission.Reward.GetValueOrDefault().ToString("N0"), ms.Info() }; if (ms.Mission.Reward.HasValue) { totalReward += ms.Mission.Reward.Value; } int rowno = dataGridViewCurrent.Rows.Add(rowobj); dataGridViewCurrent.Rows[rowno].Tag = ms; } int count = mcurrent.Count(); cColName.HeaderText = (count > 0) ? (count.ToStringInvariant() + (count > 1 ? " Missions" : " Mission")) : "Name"; cColValue.HeaderText = (totalReward != 0) ? $"Value (cr):\n{totalReward:N0}" : "Value (cr)"; // cColValue.HeaderText = (count>0) ? (count.ToStringInvariant() + (count > 1 ? " Missions" : " Mission") + (totalReward>0 ? $", {totalReward:N0}" : "")) : "Value"; List <MissionState> mprev = (from MissionState ms in ml.Missions.Values where !ms.InProgressDateTime(hetime) orderby ms.Mission.EventTimeUTC descending select ms).ToList(); DateTime startdate = customDateTimePickerStart.Checked ? customDateTimePickerStart.Value : new DateTime(1980, 1, 1); DateTime enddate = customDateTimePickerEnd.Checked ? customDateTimePickerEnd.Value : new DateTime(2999, 1, 1); long value = 0; int completed = 0, abandonded = 0, failed = 0; foreach (MissionState ms in mprev) { int cmps = EDDiscoveryForm.EDDConfig.DisplayUTC ? DateTime.Compare(ms.Mission.EventTimeUTC, startdate) : DateTime.Compare(ms.Mission.EventTimeLocal, startdate); //System.Diagnostics.Debug.WriteLine(ms.Mission.EventTimeUTC.ToString() + " " + startdate.ToString() + " " + cmps); if (cmps >= 0) { int cmpe = EDDiscoveryForm.EDDConfig.DisplayUTC ? DateTime.Compare(ms.Mission.EventTimeUTC, enddate) : DateTime.Compare(ms.Mission.EventTimeLocal, enddate); if (cmpe <= 0) { if (ms.State == MissionState.StateTypes.Abandoned) { abandonded++; } else if (ms.State == MissionState.StateTypes.Completed) { completed++; } else if (ms.State == MissionState.StateTypes.Failed) { failed++; } object[] rowobj = { JournalFieldNaming.ShortenMissionName(ms.Mission.Name), EDDiscoveryForm.EDDConfig.DisplayUTC ? ms.Mission.EventTimeUTC : ms.Mission.EventTimeLocal, EDDiscoveryForm.EDDConfig.DisplayUTC ? ms.MissionEndTime : ms.MissionEndTime.ToLocalTime(), ms.OriginatingSystem + ":" + ms.OriginatingStation, ms.Mission.Faction, ms.DestinationSystemStation(), ms.Mission.TargetFaction, ms.StateText, ms.Info() }; int rowno = dataGridViewPrevious.Rows.Add(rowobj); dataGridViewPrevious.Rows[rowno].Tag = ms; value += ms.Value; } } } labelValue.Visible = (value != 0); labelValue.Text = "Value: " + value.ToStringInvariant() + " C:" + completed.ToStringInvariant() + " A:" + abandonded.ToStringInvariant() + " F:" + failed.ToStringInvariant(); } }
private void Display() { this.Factions = new Dictionary <string, FactionStatistics>(); dataGridViewFactions.Rows.Clear(); MissionList ml = last_he?.MissionList; var total = 0; if (ml != null) { foreach (MissionState ms in ml.Missions.Values) { if (ms.State == MissionState.StateTypes.Completed && ms.Completed != null) { DateTime startdateutc = startDateTime.Checked ? EDDConfig.Instance.ConvertTimeToUTCFromSelected(startDateTime.Value) : new DateTime(1980, 1, 1); DateTime enddateutc = endDateTime.Checked ? EDDConfig.Instance.ConvertTimeToUTCFromSelected(endDateTime.Value) : new DateTime(8999, 1, 1); if (DateTime.Compare(ms.Completed.EventTimeUTC, startdateutc) >= 0 && DateTime.Compare(ms.Completed.EventTimeUTC, enddateutc) <= 0) { // System.Diagnostics.Debug.WriteLine(ms.Mission.Faction + " " + ms.Mission.Name + " " + ms.Completed.EventTimeUTC); total++; var faction = ms.Mission.Faction; int inf = 0; int rep = 0; if (ms.Completed.FactionEffects != null) { foreach (var fe in ms.Completed.FactionEffects) { if (fe.Faction == faction) { if (fe.ReputationTrend == "UpGood" && fe.Reputation?.Length > 0) { rep = fe.Reputation.Length; } foreach (var si in fe.Influence) { if (si.Trend == "UpGood" && si.Influence?.Length > 0) { inf += si.Influence.Length; } } } } } long credits = ms.Completed.Reward != null ? (long)ms.Completed.Reward : 0; FactionStatistics factionStats; if (!this.Factions.TryGetValue(faction, out factionStats)) { factionStats = new FactionStatistics(faction); this.Factions.Add(faction, factionStats); } factionStats.AddMissions(1); if (inf > 0) { factionStats.AddInfluence(inf); } if (rep > 0) { factionStats.AddReputation(rep); } if (credits > 0) { factionStats.AddCredits(credits); } if (ms.Completed.MaterialsReward != null) { foreach (var mr in ms.Completed.MaterialsReward) { factionStats.AddReward(mr.Name_Localised, mr.Count); } } if (ms.Completed.CommodityReward != null) { foreach (var cr in ms.Completed.CommodityReward) { factionStats.AddReward(cr.Name_Localised, cr.Count); } } } } } if (total > 0) { //System.Diagnostics.Debug.WriteLine(total + " missions"); var rows = new List <DataGridViewRow>(total); foreach (FactionStatistics fs in this.Factions.Values) { var rewards = ""; foreach (var reward in fs.Rewards.Values) { if (rewards.Length > 0) { rewards += ", "; } rewards += reward.Count + " " + reward.Name; } object[] rowobj = { fs.Name, fs.Missions, fs.Influence, fs.Reputation, String.Format("{0:n0}", fs.Credits), rewards }; var row = dataGridViewFactions.RowTemplate.Clone() as DataGridViewRow; row.CreateCells(dataGridViewFactions, rowobj); row.Tag = fs; rows.Add(row); } dataGridViewFactions.Rows.AddRange(rows.ToArray()); } } labelValue.Text = total + " missions"; }
private void Display() { MissionList ml = last_he?.MissionList; DataGridViewColumn sortcolprev = dataGridViewPrevious.SortedColumn != null ? dataGridViewPrevious.SortedColumn : dataGridViewPrevious.Columns[1]; SortOrder sortorderprev = dataGridViewPrevious.SortedColumn != null ? dataGridViewPrevious.SortOrder : SortOrder.Descending; DataGridViewColumn sortcolcur = dataGridViewCurrent.SortedColumn != null ? dataGridViewCurrent.SortedColumn : dataGridViewCurrent.Columns[1]; SortOrder sortordercur = dataGridViewCurrent.SortedColumn != null ? dataGridViewCurrent.SortOrder : SortOrder.Descending; dataGridViewCurrent.Rows.Clear(); dataGridViewPrevious.Rows.Clear(); if (ml != null) { DateTime hetime = last_he.EventTimeUTC; List <MissionState> mcurrent = ml.GetAllCurrentMissions(hetime); var totalReward = 0; foreach (MissionState ms in mcurrent) { object[] rowobj = { JournalFieldNaming.ShortenMissionName(ms.Mission.Name), EDDiscoveryForm.EDDConfig.DisplayUTC ? ms.Mission.EventTimeUTC : ms.Mission.EventTimeLocal, EDDiscoveryForm.EDDConfig.DisplayUTC ? ms.Mission.Expiry : ms.Mission.Expiry.ToLocalTime(), ms.OriginatingSystem + ":" + ms.OriginatingStation, ms.Mission.Faction, ms.DestinationSystemStation(), ms.Mission.TargetFaction, ms.Mission.Reward.GetValueOrDefault().ToString("N0"), ms.Info() }; if (ms.Mission.Reward.HasValue) { totalReward += ms.Mission.Reward.Value; } int rowno = dataGridViewCurrent.Rows.Add(rowobj); dataGridViewCurrent.Rows[rowno].Tag = ms; } int count = mcurrent.Count(); cColName.HeaderText = (count > 0) ? (count.ToStringInvariant() + (count > 1 ? " Missions".Tx(this, "MPlural") : " Mission".Tx(this, "MSingular"))) : "Name".Tx(this, "Name"); cColValue.HeaderText = (totalReward != 0) ? string.Format("Value (cr):\n{0:N0}".Tx(this, "Value"), totalReward) : "Value (cr)".Tx(this, "ValueN"); // cColValue.HeaderText = (count>0) ? (count.ToStringInvariant() + (count > 1 ? " Missions" : " Mission") + (totalReward>0 ? $", {totalReward:N0}" : "")) : "Value"; List <MissionState> mprev = ml.GetAllExpiredMissions(hetime); DateTime startdate = customDateTimePickerStart.Checked ? customDateTimePickerStart.Value : new DateTime(1980, 1, 1); DateTime enddate = customDateTimePickerEnd.Checked ? customDateTimePickerEnd.Value : new DateTime(2999, 1, 1); long value = 0; int completed = 0, abandonded = 0, failed = 0; foreach (MissionState ms in mprev) { int cmps = EDDiscoveryForm.EDDConfig.DisplayUTC ? DateTime.Compare(ms.Mission.EventTimeUTC, startdate) : DateTime.Compare(ms.Mission.EventTimeLocal, startdate); //System.Diagnostics.Debug.WriteLine(ms.Mission.EventTimeUTC.ToString() + " " + startdate.ToString() + " " + cmps); if (cmps >= 0) { int cmpe = EDDiscoveryForm.EDDConfig.DisplayUTC ? DateTime.Compare(ms.Mission.EventTimeUTC, enddate) : DateTime.Compare(ms.Mission.EventTimeLocal, enddate); if (cmpe <= 0) { if (ms.State == MissionState.StateTypes.Abandoned) { abandonded++; } else if (ms.State == MissionState.StateTypes.Completed) { completed++; } else if (ms.State == MissionState.StateTypes.Failed) { failed++; } object[] rowobj = { JournalFieldNaming.ShortenMissionName(ms.Mission.Name), EDDiscoveryForm.EDDConfig.DisplayUTC ? ms.Mission.EventTimeUTC : ms.Mission.EventTimeLocal, EDDiscoveryForm.EDDConfig.DisplayUTC ? ms.MissionEndTime : ms.MissionEndTime.ToLocalTime(), ms.OriginatingSystem + ":" + ms.OriginatingStation, ms.Mission.Faction, ms.DestinationSystemStation(), ms.Mission.TargetFaction, ms.StateText, ms.Info() }; int rowno = dataGridViewPrevious.Rows.Add(rowobj); dataGridViewPrevious.Rows[rowno].Tag = ms; value += ms.Value; } } } labelValue.Visible = (value != 0); labelValue.Text = "Value: ".Tx(this, "ValueC") + value.ToStringInvariant() + " C:" + completed.ToStringInvariant() + " A:" + abandonded.ToStringInvariant() + " F:" + failed.ToStringInvariant(); //System.Diagnostics.Debug.WriteLine("Prev " + sortorderprev + " " + sortcolprev.Index); dataGridViewPrevious.Sort(sortcolprev, (sortorderprev == SortOrder.Descending) ? ListSortDirection.Descending : ListSortDirection.Ascending); dataGridViewPrevious.Columns[sortcolprev.Index].HeaderCell.SortGlyphDirection = sortorderprev; dataGridViewCurrent.Sort(sortcolcur, (sortordercur == SortOrder.Descending) ? ListSortDirection.Descending : ListSortDirection.Ascending); dataGridViewCurrent.Columns[sortcolcur.Index].HeaderCell.SortGlyphDirection = sortordercur; } }
private void ProcessMessage(ServerMessage message) { switch (message.Type) { case ServerMessage.MessageType.PlayerList: var list = new PlayerList(message); OnPlayerHandler(list); break; case ServerMessage.MessageType.BanList: var banList = new BanList(message); OnBanHandler(banList); break; case ServerMessage.MessageType.AdminList: var adminList = new AdminList(message); OnAdminHandler(adminList); break; case ServerMessage.MessageType.MissionList: var missinlist = new MissionList(message); OnMissionHandler(missinlist); break; case ServerMessage.MessageType.ChatMessage: var chatMessage = new ChatMessage() { Date = DateTime.UtcNow, Message = message.Message }; OnChatMessageHandler(chatMessage); break; case ServerMessage.MessageType.RconAdminLog: OnRConAdminLog(); OnChatMessageHandler(new ChatMessage { Date = DateTime.UtcNow, Message = message.Message }); break; case ServerMessage.MessageType.PlayerLog: OnPlayerLog(); OnChatMessageHandler(new ChatMessage { Date = DateTime.UtcNow, Message = message.Message }); break; case ServerMessage.MessageType.BanLog: OnBanLog(); OnChatMessageHandler(new ChatMessage { Date = DateTime.UtcNow, Message = message.Message }); break; case ServerMessage.MessageType.Unknown: var unknownMessage = new ChatMessage() { Date = DateTime.UtcNow, Message = message.Message }; OnChatMessageHandler(unknownMessage); break; default: break; } RegisterMessage(message); }
private async Task LoadMissionTask(string uri) { MissionList.Clear(); int o = 0; while (true) { string reqUri = uri + o; string responseString = await SendRequest.GET(reqUri); HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(responseString); HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes(@"//form[@name='frm_mis']/tr"); int count = 0; Regex regex = new Regex(@"# \d+"); for (int i = 0; i < nodes.Count; i++) { if (i == 0 || i == nodes.Count - 1) { continue; } string complete = nodes[i].SelectSingleNode(@"./td[1]/table/tr[@class='m2']//a").GetAttributeValue("href", ""); string mark = nodes[i].SelectSingleNode(@"./td[1]/table/tr[2]//a").GetAttributeValue("href", ""); string targetIP = nodes[i].SelectSingleNode(@"./td[2]/table/tr[1]//a/span[@class='green']").InnerText; string type = nodes[i].SelectSingleNode(@"./td[3]/a/span").InnerText; string detail = StringHelper.RemoveSpecial(nodes[i].SelectSingleNode(@"./td[4]//td[@align='justify']").InnerText); string reward = nodes[i].SelectSingleNode(@"./td[5]").InnerText; string fileID = ""; var match = regex.Match(detail); if (match.Success) { fileID = match.Value.Replace("#", "").Trim(); } MissionModel newData = new MissionModel() { Complete = complete, Mark = mark, TargetIP = targetIP, Type = type, Details = detail, Reward = reward, FileID = fileID }; MissionList.Add(newData); count++; } if (count == 0) { break; } o += 50; } }
private void Display() { DataGridViewColumn sortcol = dataGridViewFactions.SortedColumn != null ? dataGridViewFactions.SortedColumn : dataGridViewFactions.Columns[0]; SortOrder sortorder = dataGridViewFactions.SortOrder != SortOrder.None ? dataGridViewFactions.SortOrder : SortOrder.Ascending; string toprowfaction = dataGridViewFactions.FirstDisplayedScrollingRowIndex >= 0 ? (dataGridViewFactions.Rows[dataGridViewFactions.FirstDisplayedScrollingRowIndex].Tag as FactionStatistics).Name : ""; dataGridViewFactions.Rows.Clear(); MissionList ml = last_he?.MissionList; DateTime startdateutc = startDateTime.Checked ? EDDConfig.Instance.ConvertTimeToUTCFromSelected(startDateTime.Value) : new DateTime(1980, 1, 1); DateTime enddateutc = endDateTime.Checked ? EDDConfig.Instance.ConvertTimeToUTCFromSelected(endDateTime.Value) : new DateTime(8999, 1, 1); var factionslist = new Dictionary <string, FactionStatistics>(); if (ml != null) { foreach (MissionState ms in ml.Missions.Values) { if (ms.State == MissionState.StateTypes.Completed && ms.Completed != null) { if (DateTime.Compare(ms.Completed.EventTimeUTC, startdateutc) >= 0 && DateTime.Compare(ms.Completed.EventTimeUTC, enddateutc) <= 0) { var faction = ms.Mission.Faction; FactionStatistics factionStats; if (!factionslist.TryGetValue(faction, out factionStats)) { factionStats = new FactionStatistics(faction); factionslist.Add(faction, factionStats); } factionStats.AddMissions(1); if (ms.Completed.FactionEffects != null) { foreach (var fe in ms.Completed.FactionEffects) { if (fe.Faction == faction) { if (fe.ReputationTrend == "UpGood" && fe.Reputation?.Length > 0) { factionStats.AddReputation(fe.Reputation.Length); } foreach (var si in fe.Influence) { if (si.Trend == "UpGood" && si.Influence?.Length > 0) { factionStats.AddInfluence(si.Influence.Length); factionStats.AddSystemInfluence(si.SystemAddress, si.Influence.Length, ms.Completed.MissionId); } } } } } long credits = ms.Completed.Reward != null ? (long)ms.Completed.Reward : 0; if (credits > 0) { factionStats.AddCredits(credits); } if (ms.Completed.MaterialsReward != null) { foreach (var mr in ms.Completed.MaterialsReward) { factionStats.AddReward(mr.Name_Localised, mr.Count); } } if (ms.Completed.CommodityReward != null) { foreach (var cr in ms.Completed.CommodityReward) { factionStats.AddReward(cr.Name_Localised, cr.Count); } } } } } } Stats mcs = null; if (startDateTime.Checked || endDateTime.Checked) // if we have a date range, can't rely on stats accumulated automatically { foreach (var he in HistoryList.FilterByDateRange(discoveryform.history.EntryOrder(), startdateutc, enddateutc)) { mcs = Stats.Process(he.journalEntry, mcs, he.StationFaction); } } else { mcs = last_he?.Stats; } if (mcs != null) { foreach (var fkvp in mcs.FactionInformation) { if (!factionslist.TryGetValue(fkvp.Value.Faction, out FactionStatistics factionStats)) { factionStats = new FactionStatistics(fkvp.Value.Faction); factionslist.Add(fkvp.Value.Faction, factionStats); } factionslist[fkvp.Value.Faction].AddFactionStats(fkvp.Value); } } if (factionslist.Count > 0) { var rows = new List <DataGridViewRow>(); foreach (FactionStatistics fs in factionslist.Values) { var info = ""; foreach (var reward in fs.Rewards.Values) { info = info.AppendPrePad(reward.Count + " " + reward.Name, ", "); } if (fs.FactionStats.CapShipAwardAsVictimFaction > 0) { info = info.AppendPrePad("Capital ship Victims: ".T(EDTx.UserControlFactions_CapShipVictims) + fs.FactionStats.CapShipAwardAsVictimFaction, ", "); } if (fs.FactionStats.CapShipAwardAsAwaringFaction > 0) { info = info.AppendPrePad("Capital ship Award: ".T(EDTx.UserControlFactions_CapShipAward) + fs.FactionStats.CapShipAwardAsAwaringFaction + ":" + fs.FactionStats.CapShipAwardAsAwaringFactionValue.ToString("N0") + "cr", ", "); } object[] rowobj = { fs.Name, fs.Missions.ToString("N0"), fs.Influence.ToString("N0"), fs.Reputation.ToString("N0"), fs.Credits.ToString("N0"), fs.FactionStats.BoughtCommodity.ToString("N0"), fs.FactionStats.SoldCommodity.ToString("N0"), fs.FactionStats.BoughtMaterial.ToString("N0"), fs.FactionStats.SoldMaterial.ToString("N0"), fs.FactionStats.CrimesAgainst.ToString("N0"), fs.FactionStats.BountyKill.ToString("N0"), fs.FactionStats.BountyRewards.ToString("N0"), fs.FactionStats.BountyRewardsValue.ToString("N0"), fs.FactionStats.Interdicted.ToString("N0"), fs.FactionStats.Interdiction.ToString("N0"), fs.FactionStats.KillBondAwardAsVictimFaction.ToString("N0"),fs.FactionStats.KillBondAwardAsAwaringFaction.ToString("N0"), fs.FactionStats.KillBondAwardAsAwaringFactionValue.ToString("N0"), info }; var row = dataGridViewFactions.RowTemplate.Clone() as DataGridViewRow; row.CreateCells(dataGridViewFactions, rowobj); row.Tag = fs; rows.Add(row); } dataGridViewFactions.Rows.AddRange(rows.ToArray()); dataGridViewFactions.Sort(sortcol, (sortorder == SortOrder.Descending) ? System.ComponentModel.ListSortDirection.Descending : System.ComponentModel.ListSortDirection.Ascending); dataGridViewFactions.Columns[sortcol.Index].HeaderCell.SortGlyphDirection = sortorder; if (toprowfaction.HasChars()) { for (int i = 0; i < dataGridViewFactions.RowCount; i++) { var fs = dataGridViewFactions.Rows[i].Tag as FactionStatistics; if (fs.Name == toprowfaction) { dataGridViewFactions.SafeFirstDisplayedScrollingRowIndex(i); break; } } } } labelValue.Text = factionslist.Count + " " + "Factions".T(EDTx.UserControlFactions_FactionsPlural); }
internal void setMissionList(NpcData npc, MissionList missionList) { }
private void Display(HistoryEntry he) { currentHE = he; MissionList ml = currentHE?.MissionList; pictureBox.ClearImageList(); if (ml != null) { Color textcolour = IsTransparent ? discoveryform.theme.SPanelColor : discoveryform.theme.LabelColor; Color backcolour = IsTransparent ? Color.Transparent : this.BackColor; DateTime hetime = currentHE.EventTimeUTC; List <MissionState> mcurrent = ml.GetAllCurrentMissions(hetime); int vpos = 4; Font displayfont = discoveryform.theme.GetFont; foreach (MissionState ms in mcurrent) { string text = ""; if (missionNameToolStripMenuItem.Checked) { text += JournalFieldNaming.ShortenMissionName(ms.Mission.Name); } if (missionDescriptionToolStripMenuItem.Checked && ms.Mission.LocalisedName.HasChars()) { text = text.AppendPrePad(ms.Mission.LocalisedName, ", "); } if (startDateToolStripMenuItem.Checked) { text = text.AppendPrePad(EDDiscoveryForm.EDDConfig.ConvertTimeToSelectedFromUTC(ms.Mission.EventTimeUTC).ToString(), ", "); } if (endDateToolStripMenuItem.Checked) { text = text.AppendPrePad(EDDiscoveryForm.EDDConfig.ConvertTimeToSelectedFromUTC(ms.Mission.Expiry).ToString(), startDateToolStripMenuItem.Checked ? "-" : ", "); } string mainpart = BaseUtils.FieldBuilder.Build( "< ", ms.DestinationSystemStation(), " ", factionInformationToolStripMenuItem.Checked ? ms.Mission.TargetFaction : null, "< ", ms.Mission.TargetLocalised, "< ", ms.Mission.KillCount?.ToString("N") ?? null, " ", ms.Mission.CommodityLocalised, "< ", ms.Mission.Count, " Left ".T(EDTx.UserControlMissionOverlay_IL), ms.CargoDepot?.ItemsToGo ); text = text.AppendPrePad(mainpart, ", "); if (rewardToolStripMenuItem.Checked && ms.Mission.Reward.HasValue && ms.Mission.Reward > 0) { text = text.AppendPrePad(BaseUtils.FieldBuilder.Build(" ;cr", ms.Mission.Reward.GetValueOrDefault().ToString("N0")), ", "); } StringFormat frmt = new StringFormat(); var ie = pictureBox.AddTextAutoSize(new Point(10, vpos), new Size(this.Width - 20, this.Height), text, displayfont, textcolour, backcolour, 1.0F, frmt: frmt); vpos = ie.pos.Bottom + displayfont.ScalePixels(4); } } pictureBox.Render(); }
private void Display() { MissionList ml = last_he?.MissionList; DataGridViewColumn sortcolprev = dataGridViewPrevious.SortedColumn != null ? dataGridViewPrevious.SortedColumn : dataGridViewPrevious.Columns[1]; SortOrder sortorderprev = dataGridViewPrevious.SortedColumn != null ? dataGridViewPrevious.SortOrder : SortOrder.Descending; DataGridViewColumn sortcolcur = dataGridViewCurrent.SortedColumn != null ? dataGridViewCurrent.SortedColumn : dataGridViewCurrent.Columns[1]; SortOrder sortordercur = dataGridViewCurrent.SortedColumn != null ? dataGridViewCurrent.SortOrder : SortOrder.Descending; dataGridViewCurrent.Rows.Clear(); dataGridViewPrevious.Rows.Clear(); if (ml != null) { DateTime hetime = last_he.EventTimeUTC; List <MissionState> mcurrent = ml.GetAllCurrentMissions(hetime); var totalReward = 0; var currentRows = new List <DataGridViewRow>(mcurrent.Count); foreach (MissionState ms in mcurrent) { object[] rowobj = { JournalFieldNaming.ShortenMissionName(ms.Mission.LocalisedName), EDDiscoveryForm.EDDConfig.ConvertTimeToSelectedFromUTC(ms.Mission.EventTimeUTC), EDDiscoveryForm.EDDConfig.ConvertTimeToSelectedFromUTC(ms.Mission.Expiry), ms.OriginatingSystem + ": " + ms.OriginatingStation, ms.Mission.Faction, ms.DestinationSystemStation(), ms.Mission.TargetFaction, ms.Mission.Reward.GetValueOrDefault().ToString("N0"), ms.MissionInfoColumn() }; if (ms.Mission.Reward.HasValue) { totalReward += ms.Mission.Reward.Value; } var row = dataGridViewCurrent.RowTemplate.Clone() as DataGridViewRow; row.CreateCells(dataGridViewCurrent, rowobj); row.Tag = ms; currentRows.Add(row); } dataGridViewCurrent.Rows.AddRange(currentRows.ToArray()); int count = mcurrent.Count(); cColName.HeaderText = (count > 0) ? (count.ToString() + (count > 1 ? " Missions".T(EDTx.UserControlMissions_MPlural) : " Mission".T(EDTx.UserControlMissions_MSingular))) : "Name".T(EDTx.UserControlMissions_Name); cColValue.HeaderText = (totalReward != 0) ? string.Format("Value (cr):\n{0:N0}".T(EDTx.UserControlMissions_Value), totalReward) : "Value (cr)".T(EDTx.UserControlMissions_ValueN); // cColValue.HeaderText = (count>0) ? (count.ToStringInvariant() + (count > 1 ? " Missions" : " Mission") + (totalReward>0 ? $", {totalReward:N0}" : "")) : "Value"; List <MissionState> mprev = ml.GetAllExpiredMissions(hetime); DateTime startdateutc = customDateTimePickerStart.Checked ? EDDConfig.Instance.ConvertTimeToUTCFromSelected(customDateTimePickerStart.Value) : new DateTime(1980, 1, 1); DateTime enddateutc = customDateTimePickerEnd.Checked ? EDDConfig.Instance.ConvertTimeToUTCFromSelected(customDateTimePickerEnd.Value) : new DateTime(8999, 1, 1); long value = 0; int completed = 0, abandonded = 0, failed = 0; var previousRows = new List <DataGridViewRow>(mprev.Count); foreach (MissionState ms in mprev) { int cmps = DateTime.Compare(ms.Mission.EventTimeUTC, startdateutc); //System.Diagnostics.Debug.WriteLine(ms.Mission.EventTimeUTC.ToString() + " " + startdate.ToString() + " " + cmps); if (cmps >= 0) { int cmpe = DateTime.Compare(ms.Mission.EventTimeUTC, enddateutc); if (cmpe <= 0) { if (ms.State == MissionState.StateTypes.Abandoned) { abandonded++; } else if (ms.State == MissionState.StateTypes.Completed) { completed++; } else if (ms.State == MissionState.StateTypes.Failed) { failed++; } object[] rowobj = { JournalFieldNaming.ShortenMissionName(ms.Mission.LocalisedName), EDDiscoveryForm.EDDConfig.ConvertTimeToSelectedFromUTC(ms.Mission.EventTimeUTC), EDDiscoveryForm.EDDConfig.ConvertTimeToSelectedFromUTC(ms.MissionEndTime), ms.OriginatingSystem + ": " + ms.OriginatingStation, ms.Mission.Faction, ms.DestinationSystemStation(), ms.Mission.TargetFaction, ms.StateText, ms.MissionInfoColumn() }; var row = dataGridViewPrevious.RowTemplate.Clone() as DataGridViewRow; row.CreateCells(dataGridViewPrevious, rowobj); row.Tag = ms; previousRows.Add(row); value += ms.Value; } } } dataGridViewPrevious.Rows.AddRange(previousRows.ToArray()); labelValue.Visible = (value != 0); labelValue.Text = "Value: ".T(EDTx.UserControlMissions_ValueC) + value.ToString("N0") + " C:" + completed.ToString("N0") + " A:" + abandonded.ToString("N0") + " F:" + failed.ToString("N0"); //System.Diagnostics.Debug.WriteLine("Prev " + sortorderprev + " " + sortcolprev.Index); dataGridViewPrevious.Sort(sortcolprev, (sortorderprev == SortOrder.Descending) ? ListSortDirection.Descending : ListSortDirection.Ascending); dataGridViewPrevious.Columns[sortcolprev.Index].HeaderCell.SortGlyphDirection = sortorderprev; dataGridViewCurrent.Sort(sortcolcur, (sortordercur == SortOrder.Descending) ? ListSortDirection.Descending : ListSortDirection.Ascending); dataGridViewCurrent.Columns[sortcolcur.Index].HeaderCell.SortGlyphDirection = sortordercur; } }
private void ProcessMessage(ServerMessage message) { var logMessage = new LogMessage { Date = DateTime.UtcNow, Message = message.Message }; switch (message.Type) { case ServerMessageType.PlayerList: var list = new PlayerList(message); OnPlayerHandler(list); break; case ServerMessageType.BanList: var banList = new BanList(message); OnBanHandler(banList); break; case ServerMessageType.AdminList: var adminList = new AdminList(message); OnAdminHandler(adminList); break; case ServerMessageType.MissionList: var missinlist = new MissionList(message); OnMissionHandler(missinlist); break; case ServerMessageType.ChatMessage: var chatMessage = new ChatMessage { Date = DateTime.UtcNow, Message = message.Message }; OnChatMessageHandler(chatMessage); break; case ServerMessageType.RconAdminLog: OnRConAdminLog(logMessage); break; case ServerMessageType.PlayerLog: OnPlayerLog(logMessage); break; case ServerMessageType.BanLog: OnBanLog(logMessage); break; case ServerMessageType.Unknown: //var unknownMessage = new ChatMessage //{ // Date = DateTime.UtcNow, // Message = message.Message //}; //OnChatMessageHandler(unknownMessage); break; } RegisterMessage(message); }
public static MissionList LoadMissions(BinaryReader reader, int missionCount) { var missions = new MissionList(); for (var i = 0; i < missionCount; i++) { var mission = new MissionModel(); mission.Id = reader.ReadInt32(); mission.Date = GetDateFromValue(reader.ReadInt32()); mission.ClientName = new string(reader.ReadChars(10)).TrimEnd(); mission.RewardAmount = reader.ReadInt16(); mission.Type = (MissionType)reader.ReadByte(); mission.Difficulty = (Difficulty)reader.ReadByte(); mission.TargetStarSystem = Galaxy.StarSystems[reader.ReadByte(), reader.ReadByte()]; switch (mission.Type) { case MissionType.PackageDelivery: mission.PackageDescription = new string(reader.ReadChars(20)).TrimEnd(); break; case MissionType.GoodsDelivery : mission.GoodsToDeliver_Type = (Merchandise)reader.ReadByte(); mission.GoodsToDeliver_Amount = reader.ReadByte(); break; case MissionType.Assassination : mission.AssassinationTarget = LoadNPC(reader); break; } missions.Add(mission); } return missions; }