Having static classes inherit from a static class

Hidiho!

This problem is not too important right now - I could easily do it with some kind of workaround - it is more about designing my code and whether to do some fancy stuff.
Wrapping it up, I’m doing some kind of hero-management game, which is mainly some GUI in different scenes. You have different heroes and let them do stuff. Every hero has a character sheet with his stats. I thought about making the heroes’ stats scripts static, so that I wouldn’t have to bother pushing information from scene to scene - when referencing a hero, I am always talking about the same hero anyways. Every hero has the same stats, so it seems to be a good opportunity (hey, there’s UNITY in it!) to do some inheriting. Problem is: my static heroes cannot inherit from a class that’s not object.

Some example code of what I would like to do:

public static class Character : object
{
public static int level;
public static int health;
//...

//some other functions they have in common, like how experience translates into levels etc.
}

public static class Aragorn : Character
{
level = 3;
health = 20;
//...
}

public static class Legolas : Character
{
level = 3;
health = 15;
//...
}

What is a good way of doing this? I am realizing right now, that having the fields in Character won’t help, because I will have to specify them again anyways, but it would be nice to have the methods where I need them. Are static classes useful in this scenario, or is there some way to do it with interfaces or other things?

I’m looking forward to any input on this whole thing

Paul

How about something like this:

public static class CharacterManager {
    public static List<Character> heroes;
}

public abstract class Character {        
    int level;
    float health;
}

public class Aragorn : Character {    
}

fill in with constructors etc. The idea is to keep a static class that keeps track of each character, but the characters themselves are not static.

When you create a character; you add them to the static list. You an add methods to CharacterManager to make accessing the list nicer

This is super hobbled together, but I hope it demonstrates the basic idea. There are a lot of ways to skin this cat, and this is but one of them.