public ClientBuildingManagerModule() { Building[] SceneBuildings = GameObject.FindObjectsOfType <Building> (); for (int i = 0; i < SceneBuildings.Length; i++) { SceneBuildings [i].isMasterControl = true; SceneBuildings [i].isMasterServerObject = false; BuildingList.Add(SceneBuildings [i].SerializedID, SceneBuildings [i]); } onServerBuildingDestroyed = HandleServerBuildingDestroyed; }
public static Generic.Dictionary <Type, T> GetTypesWithAttribute <T>() { Debug.Log(" In ReflectionHelper.GetTypesWithAttribute"); Generic.Dictionary <Type, T> all = new Generic.Dictionary <Type, T>(); //var ass = GetAssemblyByName("Assembly-CSharp"); var assemblies = AppDomain.CurrentDomain.GetAssemblies(); Debug.Log($"Found {assemblies.Length} assemblies"); foreach (var assembly in assemblies) { if (assembly.FullName.Contains("mscorlib") || assembly.FullName.Contains("UnityEngine") || assembly.FullName.Contains("UnityEditor") || assembly.FullName.Contains("System.") || assembly.FullName.Contains("System,") || assembly.FullName.Contains("Unity.") || assembly.FullName.Contains("Mono.")) { continue; } //Debug.Log($"Checking assembly {assembly.FullName}"); foreach (Type type in assembly.GetTypes()) { object attribute = type.GetCustomAttribute(typeof(T), true); if (attribute != null) { Debug.Log($"------------- Found Type {type.Name}"); all.Add(type, (T)attribute); break; } } } return(all); }
public void Put(DictName Name, String value) { D.Add(Name.Name, new DictName(value)); }