示例#1
0
 public void PostLoad(DatabaseObjectLookup gameMaps, bool isServer = true)
 {
     if (!isServer)
     {
         if (gameMaps.Keys.Contains(MapId))
         {
             gameMaps[MapId].Name = Name;
         }
     }
     else
     {
         if (gameMaps.Keys.Contains(MapId))
         {
             Name = gameMaps[MapId].Name;
         }
     }
 }
示例#2
0
        public static DatabaseObjectLookup GetLookup(Type type)
        {
            if (type == null)
            {
                throw new ArgumentNullException(nameof(type));
            }

            if (LookupMap == null)
            {
                throw new ArgumentNullException(nameof(LookupMap));
            }

            lock ( Lock )
            {
                try
                {
                    if (!LookupMap.ContainsKey(type))
                    {
                        LookupMap[type] = new DatabaseObjectLookup(type);
                    }
                }
                catch (Exception exception)
                {
                    Log.Error($"Impossible NPE... [LookupMap={LookupMap}, type={type}]");
                    if (exception.InnerException != null)
                    {
                        Log.Error(exception.InnerException);
                    }

                    Log.Error(exception);
                    Log.Error($"{nameof( LookupMap )}={LookupMap},{nameof( type )}={type}");

                    throw;
                }

                return(LookupMap[type]);
            }
        }
示例#3
0
 public void PostLoad(DatabaseObjectLookup gameMaps, bool isServer = true)
 {
     Children.PostLoad(gameMaps, isServer, false);
 }