The same way I can make a "instance" of a generic method of a certain type (MethodInfo mod = methodInfo.MakeGenericMethod(acc.GetType())
), can the same be done to classes? Can those runtime generated classes also be non-abstract?
I want this so that I don't have to write this at the end of my files:
public class BonusEdibilityFromNutrients : BonusValuesToEdibility<EffectsAffectsNutrients, NutrientProcessor.Nutrients, NutrientsMinMax> {
}
public class BonusEdibilityFromTastes : BonusValuesToEdibility<EffectsAffectsTastes, TasteProcessor.Tastes, TastesMinMax> {
}
public class BonusEdibilityFromAroma : BonusValuesToEdibility<EffectsAffectsAroma, AromaProcessor.Aroma, AromaMinMax> {
}
public class BonusEdibilityFromComposition : BonusValuesToEdibility<EffectsAffectsComposition, CompositionProcessor.Composition, DummyMinMax2> {
}
public class BonusEdibilityFromCookProperties : BonusValuesToEdibility<EffectsAffectsCookProperties, CookPropertiesProcessor.CookProperties, DummyMinMax1> {
}
public class BonusEdibilityFromQuality : BonusValuesToEdibility<EffectsAffectsQuality, ItemInstance, QualityMinMax> {
}
public class TransferValuesConstantNutrients : TransferValuesConstant<EffectsAffectsNutrients, NutrientProcessor.Nutrients, NutrientsMinMax> {
}
public class TransferValuesConstantTastes : TransferValuesConstant<EffectsAffectsTastes, TasteProcessor.Tastes, TastesMinMax> {
}
public class TransferValuesConstantAroma : TransferValuesConstant<EffectsAffectsAroma, AromaProcessor.Aroma, AromaMinMax> {
}
public class TransferValuesConstantComposition : TransferValuesConstant<EffectsAffectsComposition, CompositionProcessor.Composition, DummyMinMax2> {
}
public class TransferValuesConstantCookProperties : TransferValuesConstant<EffectsAffectsCookProperties, CookPropertiesProcessor.CookProperties, DummyMinMax1> {
}
public class TransferValuesConstantQuality : TransferValuesConstant<EffectsAffectsQuality, ItemInstance, QualityMinMax> {
}
public class TransferValuesPercentNutrients : TransferValuesPercent<EffectsAffectsNutrients, NutrientProcessor.Nutrients, NutrientsMinMax> {
}
public class TransferValuesPercentTastes : TransferValuesPercent<EffectsAffectsTastes, TasteProcessor.Tastes, TastesMinMax> {
}
public class TransferValuesPercentAroma : TransferValuesPercent<EffectsAffectsAroma, AromaProcessor.Aroma, AromaMinMax> {
}
public class TransferValuesPercentComposition : TransferValuesPercent<EffectsAffectsComposition, CompositionProcessor.Composition, DummyMinMax2> {
}
public class TransferValuesPercentCookProperties : TransferValuesPercent<EffectsAffectsCookProperties, CookPropertiesProcessor.CookProperties, DummyMinMax1> {
}
public class TransferValuesPercentQuality : TransferValuesPercent<EffectsAffectsQuality, ItemInstance, QualityMinMax> {
}
public class TransferValuesSwapConstantNutrients : SwaprValuesConstant<EffectsAffectsNutrients, NutrientProcessor.Nutrients, NutrientsMinMax> {
}
public class TransferValuesSwapConstantTastes : SwaprValuesConstant<EffectsAffectsTastes, TasteProcessor.Tastes, TastesMinMax> {
}
public class TransferValuesSwapConstantAroma : SwaprValuesConstant<EffectsAffectsAroma, AromaProcessor.Aroma, AromaMinMax> {
}
public class TransferValuesSwapConstantComposition : SwaprValuesConstant<EffectsAffectsComposition, CompositionProcessor.Composition, DummyMinMax2> {
}
public class TransferValuesSwapConstantCookProperties : SwaprValuesConstant<EffectsAffectsCookProperties, CookPropertiesProcessor.CookProperties, DummyMinMax1> {
}
public class TransferValuesSwapConstantQuality : SwaprValuesConstant<EffectsAffectsQuality, ItemInstance, QualityMinMax> {
}
public class TransferValuesSwapPercentNutrients : SwapValuesPercent<EffectsAffectsNutrients, NutrientProcessor.Nutrients, NutrientsMinMax> {
}
public class TransferValuesSwapPercentTastes : SwapValuesPercent<EffectsAffectsTastes, TasteProcessor.Tastes, TastesMinMax> {
}
public class TransferValuesSwapPercentAroma : SwapValuesPercent<EffectsAffectsAroma, AromaProcessor.Aroma, AromaMinMax> {
}
public class TransferValuesSwapPercentComposition : SwapValuesPercent<EffectsAffectsComposition, CompositionProcessor.Composition, DummyMinMax2> {
}
public class TransferValuesSwapPercentCookProperties : SwapValuesPercent<EffectsAffectsCookProperties, CookPropertiesProcessor.CookProperties, DummyMinMax1> {
}
public class TransferValuesSwapPercentQuality : SwapValuesPercent<EffectsAffectsQuality, ItemInstance, QualityMinMax> {
}
public class BonusValuesConstantNutrients : BonusValuesConstant<EffectsAffectsNutrients, NutrientProcessor.Nutrients, NutrientsMinMax> {
}
public class BonusValuesConstantTastes : BonusValuesConstant<EffectsAffectsTastes, TasteProcessor.Tastes, TastesMinMax> {
}
public class BonusValuesConstantAroma : BonusValuesConstant<EffectsAffectsAroma, AromaProcessor.Aroma, AromaMinMax> {
}
public class BonusValuesConstantComposition : BonusValuesConstant<EffectsAffectsComposition, CompositionProcessor.Composition, DummyMinMax2> {
}
public class BonusValuesConstantCookProperties : BonusValuesConstant<EffectsAffectsCookProperties, CookPropertiesProcessor.CookProperties, DummyMinMax1> {
}
public class BonusValuesConstantQuality : BonusValuesConstant<EffectsAffectsQuality, ItemInstance, QualityMinMax> {
}
public class BonusValuesPercentNutrients : BonusValuesPercent<EffectsAffectsNutrients, NutrientProcessor.Nutrients, NutrientsMinMax> {
}
public class BonusValuesPercentTastes : BonusValuesPercent<EffectsAffectsTastes, TasteProcessor.Tastes, TastesMinMax> {
}
public class BonusValuesPercentAroma : BonusValuesPercent<EffectsAffectsAroma, AromaProcessor.Aroma, AromaMinMax> {
}
public class BonusValuesPercentComposition : BonusValuesPercent<EffectsAffectsComposition, CompositionProcessor.Composition, DummyMinMax2> {
}
public class BonusValuesPercentCookProperties : BonusValuesPercent<EffectsAffectsCookProperties, CookPropertiesProcessor.CookProperties, DummyMinMax1> {
}
public class BonusValuesPercentQuality : BonusValuesPercent<EffectsAffectsQuality, ItemInstance, QualityMinMax> {
}
OBS: I am looking for a non-runtime-compile solution, because that will take longer than the time I can afford right now to setup
OBS2: I already know how to handle the runtime generation of ECS types limiation on Unity, so that's a non issue
OBS3: I am using the term "instance of" class due to not knowing the proper term for it, I don't need a object instance of a class such as described, I need the class such as described to exist on the assembly at runtime.