Exemplo n.º 1
0
            public void Update(Rank_Character_Info listing, int RankIndex)
            {
                Listing         = listing;
                RankLabel.Text  = RankIndex.ToString();
                LevelLabel.Text = Listing.level.ToString();
                ClassLabel.Text = Listing.Class.ToString();
                NameLabel.Text  = listing.Name;
                Index           = listing.PlayerId;
                if (RankLabel.Text == "1")
                {
                    RankLabel.ForeColour  = Color.Gold;
                    NameLabel.ForeColour  = Color.Gold;
                    LevelLabel.ForeColour = Color.Gold;
                    ClassLabel.ForeColour = Color.Gold;
                }
                if (RankLabel.Text == "2")
                {
                    RankLabel.ForeColour  = Color.Silver;
                    NameLabel.ForeColour  = Color.Silver;
                    LevelLabel.ForeColour = Color.Silver;
                    ClassLabel.ForeColour = Color.Silver;
                }
                if (RankLabel.Text == "3")
                {
                    RankLabel.ForeColour  = Color.RosyBrown;
                    NameLabel.ForeColour  = Color.RosyBrown;
                    LevelLabel.ForeColour = Color.RosyBrown;
                    ClassLabel.ForeColour = Color.RosyBrown;
                }
                else if (GameScene.User != null && NameLabel.Text == GameScene.User.Name)
                {
                    RankLabel.ForeColour  = Color.Green;
                    NameLabel.ForeColour  = Color.Green;
                    LevelLabel.ForeColour = Color.Green;
                    ClassLabel.ForeColour = Color.Green;
                }
                else if (Convert.ToInt32(RankLabel.Text) > 3)
                {
                    RankLabel.ForeColour  = Color.White;
                    NameLabel.ForeColour  = Color.White;
                    LevelLabel.ForeColour = Color.White;
                    ClassLabel.ForeColour = Color.White;
                }

                if (listing.ShowObserve && listing.PlayerId != GameScene.User?.Id)
                {
                    ViewButton.Visible = true;
                }
                else
                {
                    ViewButton.Visible = false;
                }

                Visible = true;
            }
Exemplo n.º 2
0
            public void Update(Rank_Character_Info listing, int RankIndex)
            {
                Listing = listing;
                RankLabel.Text = RankIndex.ToString();
                LevelLabel.Text = Listing.level.ToString();
                ClassLabel.Text = Listing.Class.ToString();
                NameLabel.Text = listing.Name;
                Index = listing.PlayerId;
                if (RankLabel.Text == "1")
                {
                    RankLabel.ForeColour = Color.Gold;
                    NameLabel.ForeColour = Color.Gold;
                    LevelLabel.ForeColour = Color.Gold;
                    ClassLabel.ForeColour = Color.Gold;
                }
                if (RankLabel.Text == "2")
                {
                    RankLabel.ForeColour = Color.Silver;
                    NameLabel.ForeColour = Color.Silver;
                    LevelLabel.ForeColour = Color.Silver;
                    ClassLabel.ForeColour = Color.Silver;
                }
                if (RankLabel.Text == "3")
                {
                    RankLabel.ForeColour = Color.RosyBrown;
                    NameLabel.ForeColour = Color.RosyBrown;
                    LevelLabel.ForeColour = Color.RosyBrown;
                    ClassLabel.ForeColour = Color.RosyBrown;
                }
                else if (NameLabel.Text == GameScene.User.Name)
                {
                    RankLabel.ForeColour = Color.Green;
                    NameLabel.ForeColour = Color.Green;
                    LevelLabel.ForeColour = Color.Green;
                    ClassLabel.ForeColour = Color.Green;
                }
                else if (Convert.ToInt32(RankLabel.Text) > 3)
                {
                    RankLabel.ForeColour = Color.White;
                    NameLabel.ForeColour = Color.White;
                    LevelLabel.ForeColour = Color.White;
                    ClassLabel.ForeColour = Color.White;
                }

                Visible = true;

            }
Exemplo n.º 3
0
 public void SetNewRank(Rank_Character_Info Rank, int Index, byte type)
 {
     CharacterInfo Player = Rank.info as CharacterInfo;
     if (Player == null) return; ;
     Player.Rank[type] = Index;
 }
Exemplo n.º 4
0
 public bool TryAddRank(List<Rank_Character_Info> Ranking, CharacterInfo info, byte type)
 {
     Rank_Character_Info NewRank = new Rank_Character_Info() { Name = info.Name, Class = info.Class, Experience = info.Experience, level = info.Level, PlayerId = info.Index, info = info };
     int NewRankIndex = InsertRank(Ranking, NewRank);
     if (NewRankIndex == 0) return false;
     for (int i = NewRankIndex; i < Ranking.Count; i++ )
     {
         SetNewRank(Ranking[i], i + 1, type);
     }
     info.Rank[type] = NewRankIndex;
     return true;
 }
Exemplo n.º 5
0
 int RankCount = 100;//could make this a global but it made sence since this is only used here, it should stay here
 public int InsertRank(List<Rank_Character_Info> Ranking, Rank_Character_Info NewRank)
 {
     if (Ranking.Count == 0)
     {
         Ranking.Add(NewRank);
         return Ranking.Count;
     }
     for (int i = 0; i < Ranking.Count; i++)
     {
        //if level is lower
        if (Ranking[i].level < NewRank.level)
        {
             Ranking.Insert(i, NewRank);
             return i+1;
         }
         //if exp is lower but level = same
         if ((Ranking[i].level == NewRank.level) && (Ranking[i].Experience < NewRank.Experience))
         {
            Ranking.Insert(i, NewRank);
            return i+1;
         }
     }
     if (Ranking.Count < RankCount)
     {
         Ranking.Add(NewRank);
         return Ranking.Count;
     }
     return 0;
 }
Exemplo n.º 6
0
Arquivo: Envir.cs Projeto: chilin/mir2
 public void CheckRankUpdate(CharacterInfo info)
 {
     List<Rank_Character_Info> Ranking;
     //first check overall top 20
     Rank_Character_Info NewRank;
     if (info.Level >= RankBottomLevel[0])
     {
         Ranking = RankTop20;
         if (!UpdateRank(Ranking, info))
         {
             NewRank = new Rank_Character_Info() { Name = info.Name, Class = info.Class, Experience = info.Experience, level = info.Level/*, rank = 1*/, PlayerId = info.Index };
             if (InsertRank(Ranking, NewRank))
             {
                 if (Ranking.Count > 20)
                     Ranking.RemoveAt(20);
             }
         }
         if (Ranking.Count >= 20)
         { 
             NewRank = Ranking.Last();
             if (NewRank != null)
                 RankBottomLevel[0] = NewRank.level;
         }
     }
     //now check class top 20
     if (info.Level >= RankBottomLevel[(byte)info.Class + 1])
     {
         Ranking = RankClass20[(byte)info.Class];
         if (!UpdateRank(Ranking, info))
         {
             NewRank = new Rank_Character_Info() { Name = info.Name, Class = info.Class, Experience = info.Experience, level = info.Level/*, rank = 1*/, PlayerId = info.Index };
             if (InsertRank(Ranking, NewRank))
             {
                 if (Ranking.Count > 20)
                     Ranking.RemoveAt(20);
             }
         }
         if (Ranking.Count >= 20)
         {
             NewRank = Ranking.Last();
             if (NewRank != null)
                 RankBottomLevel[(byte)info.Class + 1] = NewRank.level;
         }
     }
 }
Exemplo n.º 7
0
Arquivo: Envir.cs Projeto: chilin/mir2
 public bool InsertRank(List<Rank_Character_Info> Ranking, Rank_Character_Info NewRank)
 {
     bool output = false;
     if (Ranking.Count == 0)
     {
         Ranking.Add(NewRank);
         return true;
     }
     for (int i = 0; i < Ranking.Count; i++)
     {
         if (Ranking[i] == null)
         {
             Ranking.Insert(i, NewRank);
             output = true;
             break;
         }
        //if level is lower
        if (Ranking[i].level < NewRank.level)
        {
             Ranking.Insert(i, NewRank);
             output = true;
             break;
         }
         //if exp is lower but level = same
         if ((Ranking[i].level == NewRank.level) && (Ranking[i].Experience < NewRank.Experience))
         {
            Ranking.Insert(i, NewRank);
            output = true;
            break;
         }
     }
     if ((Ranking.Count < 20) && (!output))
     {
         Ranking.Add(NewRank);
         return true;
     }
     return output;
 }