public void Awake() { using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("LostInTransit.lostintransit_assets")) { MainAssets = AssetBundle.LoadFromStream(stream); } var materialAssets = MainAssets.LoadAllAssets <Material>(); foreach (Material material in materialAssets) { if (!material.shader.name.StartsWith("Stubbed")) { continue; } //Logger.LogInfo(material); var replacementShader = Resources.Load <Shader>(ShaderLookup[material.shader.name.ToLower()]); if (replacementShader) { material.shader = replacementShader; } } var ItemTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(ItemBase))); foreach (var itemType in ItemTypes) { ItemBase item = (ItemBase)System.Activator.CreateInstance(itemType); if (ValidateItem(item, Items)) { item.Init(Config); } } //Material shader autoconversion - thanks Komrade, you're da best! ^^ var EquipmentTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EquipmentBase))); foreach (var equipmentType in EquipmentTypes) { EquipmentBase equipment = (EquipmentBase)System.Activator.CreateInstance(equipmentType); if (ValidateEquipment(equipment, Equipments)) { equipment.Init(Config); } } var EliteTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EliteBase))); foreach (var eliteType in EliteTypes) { EliteBase elite = (EliteBase)System.Activator.CreateInstance(eliteType); if (ValidateElites(elite, Elites)) { elite.Init(Config); } } }
private void Awake() { ModLogger = Logger; // Don't know how to create/use an asset bundle, or don't have a unity project set up? // Look here for info on how to set these up: https://github.com/KomradeSpectre/AetheriumMod/blob/rewrite-master/Tutorials/Item%20Mod%20Creation.md#unity-project using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("ItemModCreationBoilerplate.my_assetbundlefile")) { MainAssets = AssetBundle.LoadFromStream(stream); } //This section automatically scans the project for all artifacts var ArtifactTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(ArtifactBase))); foreach (var artifactType in ArtifactTypes) { ArtifactBase artifact = (ArtifactBase)Activator.CreateInstance(artifactType); if (ValidateArtifact(artifact, Artifacts)) { artifact.Init(Config); } } //This section automatically scans the project for all items var ItemTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(ItemBase))); foreach (var itemType in ItemTypes) { ItemBase item = (ItemBase)System.Activator.CreateInstance(itemType); if (ValidateItem(item, Items)) { item.Init(Config); } } //this section automatically scans the project for all equipment var EquipmentTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EquipmentBase))); foreach (var equipmentType in EquipmentTypes) { EquipmentBase equipment = (EquipmentBase)System.Activator.CreateInstance(equipmentType); if (ValidateEquipment(equipment, Equipments)) { equipment.Init(Config); } } //this section automatically scans the project for all elite equipment var EliteEquipmentTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EliteEquipmentBase))); foreach (var eliteEquipmentType in EliteEquipmentTypes) { EliteEquipmentBase eliteEquipment = (EliteEquipmentBase)System.Activator.CreateInstance(eliteEquipmentType); if (ValidateEliteEquipment(eliteEquipment, EliteEquipments)) { eliteEquipment.Init(Config); } } }
public void AddToAssembly() { //This section automatically scans the project for all artifacts var ArtifactTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(ArtifactBase))); foreach (var artifactType in ArtifactTypes) { ArtifactBase artifact = (ArtifactBase)Activator.CreateInstance(artifactType); if (ValidateArtifact(artifact, Artifacts)) { artifact.Init(Config); } } //This section automatically scans the project for all items var ItemTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(ItemBase))); foreach (var itemType in ItemTypes) { ItemBase item = (ItemBase)System.Activator.CreateInstance(itemType); if (ValidateItem(item, Items)) { item.Init(Config); } } //this section automatically scans the project for all equipment var EquipmentTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EquipmentBase))); foreach (var equipmentType in EquipmentTypes) { EquipmentBase equipment = (EquipmentBase)System.Activator.CreateInstance(equipmentType); if (ValidateEquipment(equipment, Equipments)) { equipment.Init(Config); } } //this section automatically scans the project for all elite equipment var EliteEquipmentTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EliteEquipmentBase))); foreach (var eliteEquipmentType in EliteEquipmentTypes) { EliteEquipmentBase eliteEquipment = (EliteEquipmentBase)System.Activator.CreateInstance(eliteEquipmentType); if (ValidateEliteEquipment(eliteEquipment, EliteEquipments)) { eliteEquipment.Init(Config); } } //this section automatically scans the project for all elite equipment var ControllerTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(ControllerBase))); foreach (var controllerType in ControllerTypes) { ControllerBase controllerBase = (ControllerBase)System.Activator.CreateInstance(controllerType); controllerBase.Init(Config); } }
public void InitEquips() { var EquipmentTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EquipmentBase))); foreach (var equipmentType in EquipmentTypes) { EquipmentBase equipment = (EquipmentBase)System.Activator.CreateInstance(equipmentType); if (ValidateEquipment(equipment, EquipmentList)) { equipment.Init(TurboEdition.instance.Config); } } }