示例#1
0
        private void IGotAges(NetAgeInfo[] ages, string filename)
        {
            if (ages.Length == 0) {
                //Arrrrr! We're pirates.
                //But seriously, HACK HACK HACK MOULa if there are no GPs or K'veers
                if (filename.Contains("GuildPub") || filename.Equals("Kveer"))
                    ITryToHackGpKveer(filename);
                return;
            }

            foreach (NetAgeInfo nai in ages) {
                //Find the DataGridViewRow for this age
                int index = -1;
                for (int i = 0; i < fDataGridView.Rows.Count; i++) {
                    if (!(fDataGridView.Rows[i].Tag is NetAgeInfo)) continue;
                    if (fDataGridView.Rows[i].Tag.Equals(nai)) {
                        index = i;
                        break;
                    }
                }

                //If not found (index == -1), then create a row
                //Otherwise, update old row
                if (index == -1) {
                    //If this is a Neighborhood...
                    //AND fCurrPopulation is zero, then DON'T ADD!
                    //Let's not junkify the list ;)
                    if (nai.fFilename.Equals("Neighborhood") && nai.fCurrPopulation == 0)
                        continue;

                    DataGridViewRow r = new DataGridViewRow();
                    r.CreateCells(fDataGridView, new object[] { IMakeInstance(nai), IMakeDescription(nai), nai.fCurrPopulation });
                    r.Tag = nai;

                    fDataGridView.Rows.Add(r);
                } else {
                    //If this is a Neighborhood...
                    //AND fCurrPopulation is zero, then DELETE!
                    //Otherwise, update as usual...
                    if (nai.fFilename.Equals("Neighborhood") && nai.fCurrPopulation == 0)
                        fDataGridView.Rows.RemoveAt(index);
                    else {
                        fDataGridView.Rows[index].Cells[0].Value = IMakeInstance(nai);
                        fDataGridView.Rows[index].Cells[1].Value = IMakeDescription(nai);
                        fDataGridView.Rows[index].Cells[2].Value = nai.fCurrPopulation;
                    }
                }
            }

            //Resort based on user prefs
            //If no pref, sort by age instance name
            if (fDataGridView.SortedColumn != null)
                fDataGridView.Sort(fDataGridView.SortedColumn, (fDataGridView.SortOrder == SortOrder.Ascending ? ListSortDirection.Ascending : ListSortDirection.Descending));
            else
                fDataGridView.Sort(fAgeInstance, ListSortDirection.Ascending);
        }
示例#2
0
 protected virtual void OnAuthGotPublicAges(uint transID, ENetError result, NetAgeInfo[] ages)
 {
     //Fire callback
     // - Method: ISomething(NetAgeInfo[] ages, ...)
     IFireAuthCallback(transID, new object[] { ages });
 }
示例#3
0
        private string IMakeDescription(NetAgeInfo nai)
        {
            if (nai.fFilename == "city") {
                return "D'ni-Ae'gura";
            } else if (nai.fFilename == "GreatTreePub") {
                return "The Watcher's Sanctuary";
            } else if (nai.fFilename == "GuildPub-Cartographers") {
                return "The Cartographers' Guild Pub";
            } else if (nai.fFilename == "GuildPub-Greeters") {
                return "The Greeters' Guild Pub";
            } else if (nai.fFilename == "GuildPub-Maintainers") {
                return "The Maintainers' Guild Pub";
            } else if (nai.fFilename == "GuildPub-Messengers") {
                return "The Messengers' Guild Pub";
            } else if (nai.fFilename == "GuildPub-Writers") {
                return "The Writers' Guild Pub";
            } else if (nai.fFilename == "Kveer") {
                return "Atrus's Childhood Prison";
            } else if (nai.fFilename == "Neighborhood02") {
                return "The DRC's Guild Age";
            } else if (nai.fDescription != String.Empty)
                return nai.fDescription;
            else if (nai.fSequenceNumber != 0)
                return String.Format("{0} ({1}) {2}", nai.fUserName, nai.fSequenceNumber, nai.fInstanceName);
            else if (nai.fUserName != String.Empty)
                return String.Format("{0} {1}", nai.fUserName, nai.fInstanceName);

            return String.Format("You should never see this. [FN: {0}]", nai.fFilename);
        }
示例#4
0
 private string IMakeInstance(NetAgeInfo nai)
 {
     if (nai.fFilename.Contains("GuildPub")) {
         return "Guild Pub";
     } else if (nai.fFilename == "Kveer") {
         return "K'veer";
     } else if (nai.fFilename == "Neighborhood") {
         return "Neighborhood";
     } else {
         return nai.fInstanceName;
     }
 }
示例#5
0
 public void Read(UruStream s)
 {
     fTransID = s.ReadUInt();
     fResult = (ENetError)s.ReadInt();
     fAges = new NetAgeInfo[s.ReadInt()];
     for (int i = 0; i < fAges.Length; i++) {
         fAges[i] = new NetAgeInfo();
         fAges[i].Read(s);
     }
 }