so i have a class called Artifact that is going to contain a lot of static “Artifacts Data” inside so i can just grab it and use it without declaring a reference.
public class ArtifactData
{
public string ArtifactName;
public bool isOwned = false;
public int Artifactlevel;
public delegate void ArtifactEffect();
public ArtifactEffect Effect;
public ArtifactEffect EffectOver;
/*
public static void SearchForArtifact()
{
ArtifactData[] AllArtDatas = new ArtifactData[] {UniversalStone };
var AllArtifacts = typeof(ArtifactData).GetConstructors();
Debug.Log(AllArtifacts);
}
*/
//------------------------------------------------------
public static ArtifactData UniversalStone = new ArtifactData
{
ArtifactName = "Universal Stone",
isOwned = false,
Artifactlevel = 0,
Effect = () =>
{
GameDatas.Strength *= (1+(ArtifactData.UniversalStone.Artifactlevel / 10));
GameDatas.endurance *= (1 + (ArtifactData.UniversalStone.Artifactlevel / 10));
GameDatas.agility *= (1 + (ArtifactData.UniversalStone.Artifactlevel / 10));
GameDatas.magic *= (1 + (ArtifactData.UniversalStone.Artifactlevel / 10));
GameDatas.will *= (1 + (ArtifactData.UniversalStone.Artifactlevel / 10));
},
EffectOver = ()=>
{
GameDatas.Strength /= (1 + (ArtifactData.UniversalStone.Artifactlevel / 10));
GameDatas.endurance /= (1 + (ArtifactData.UniversalStone.Artifactlevel / 10));
GameDatas.agility /= (1 + (ArtifactData.UniversalStone.Artifactlevel / 10));
GameDatas.magic /= (1 + (ArtifactData.UniversalStone.Artifactlevel / 10));
GameDatas.will /= (1 + (ArtifactData.UniversalStone.Artifactlevel / 10));
}
};
}
then i ran into a problem, i wanted to get all of its static members, but i don’t want to put them in one by one because i probably will add more in later, that will be very messy. Is there any way i can just get them all at once using some magic codes?
i have been searching online and found something called getConstructers and getNestedTypes, but those seem not working for my situation.