public void Awake() { ModLogger = this.Logger; using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Tempest.tempest_assets")) { MainAssets = AssetBundle.LoadFromStream(stream); } //ModLogger.LogInfo("----------------------ASSETS--------------------"); //foreach (var asset in MainAssets.GetAllAssetNames()) //{ // ModLogger.LogMessage(asset); //} if (Helpers.InDebugMode()) { ModLogger.LogWarning("Tempest has been compiled in debug mode!"); } ModLogger.LogInfo("----------------------SYSTEMS--------------------"); var SystemTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(BaseSystem))); foreach (var systemType in SystemTypes) { BaseSystem system = (BaseSystem)System.Activator.CreateInstance(systemType); if (!Helpers.InDebugMode() && system.StripFromRelease) { ModLogger.LogWarning("System: " + systemType.Name + " stripped from release!"); continue; } system.Init(this); ModLogger.LogInfo("System: " + systemType.Name + " initialized!"); } ModLogger.LogInfo("----------------------ITEMS--------------------"); var ItemTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(BaseItem))); foreach (var itemType in ItemTypes) { BaseItem item = (BaseItem)System.Activator.CreateInstance(itemType); if (ValidateItem(item, Items)) { item.Init(Config); CustomItems.Add(item.ItemDef.name, item.ItemDef); ModLogger.LogInfo("Item: " + item.ItemName + " initialized!"); } else { ModLogger.LogWarning("Item: " + item.ItemName + " disabled!"); } } ModLogger.LogInfo("----------------------EQUIPMENT--------------------"); var EquipmetTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(BaseEquipment))); foreach (var EquipmetType in EquipmetTypes) { BaseEquipment equipment = (BaseEquipment)System.Activator.CreateInstance(EquipmetType); equipment.Init(Config); ModLogger.LogInfo("Equpment: " + equipment.EquipmentName + " initialized!"); } ModLogger.LogInfo("----------------------TEMPEST DONE--------------------"); }