Ignore:
Timestamp:
Sep 4, 2018, 2:33:52 PM (6 years ago)
Author:
alloc
Message:

More cleanup, allocation improvements

File:
1 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements/7dtd-server-fixes/src/PersistentData/Players.cs

    r325 r326  
    66        [Serializable]
    77        public class Players {
    8                 private readonly Dictionary<string, Player> players = new Dictionary<string, Player> ();
     8                private readonly Dictionary<string, Player> players = new CaseInsensitiveStringDictionary<Player> ();
    99
    1010                public Player this [string steamId, bool create] {
     
    1818                                }
    1919
    20                                 if (create && steamId != null && steamId.Length == 17) {
    21                                         Log.Out ("Created new player entry for ID: " + steamId);
    22                                         Player p = new Player (steamId);
    23                                         players.Add (steamId, p);
    24                                         return p;
     20                                if (!create || steamId.Length != 17) {
     21                                        return null;
    2522                                }
    2623
    27                                 return null;
     24                                Log.Out ("Created new player entry for ID: " + steamId);
     25                                Player p = new Player (steamId);
     26                                players.Add (steamId, p);
     27                                return p;
    2828                        }
    2929                }
     
    5656                        }
    5757
    58                         int entityId = -1;
     58                        int entityId;
    5959                        if (int.TryParse (_nameOrId, out entityId)) {
    6060                                foreach (KeyValuePair<string, Player> kvp in players) {
     
    6565                        }
    6666
    67                         _nameOrId = _nameOrId.ToLower ();
    6867                        foreach (KeyValuePair<string, Player> kvp in players) {
    69                                 string name = kvp.Value.Name.ToLower ();
     68                                string name = kvp.Value.Name;
    7069                                if (_ignoreColorCodes) {
    7170                                        name = Regex.Replace (name, "\\[[0-9a-fA-F]{6}\\]", "");
    7271                                }
    7372
    74                                 if (kvp.Value.IsOnline && name.Equals (_nameOrId)) {
     73                                if (kvp.Value.IsOnline && name.EqualsCaseInsensitive (_nameOrId)) {
    7574                                        return kvp.Key;
    7675                                }
Note: See TracChangeset for help on using the changeset viewer.