在我代码中有一个接口damagable
public interface Damagable
{
public static float maxHealth { get; set; }
public float currentHealth { get; set; }
}
不同的类实现Damagable,其中currentHelath
是每个实例唯一的.这个 idea 是,给定类型的不同实例都将共享相同的MaxHealth,以处理基于maxHealth
的重新生成和损害之类的事情.这里的静态关键字能解决这个问题吗?
我可以只在每个类的构造函数中设置maxHealth
,但我希望有一种方法可以让它在每个类中保持静态.
有没有办法让接口属性在实现它的每个类上都是不同的,而该类的每个实例都有相同的值,或者有没有更好的方法来做到这一点?
最终,我将拥有多个类,类似于:
public class LargeObstacle : Damagable
{
public float maxHealth { get; set; } = 100;
public float currentHealth { get; set; }
}
public class SmallObstacle : Damagable
{
public float maxHealth { get; set; } = 40;
public float currentHealth { get; set; }
}
和List<Damagable>
,我可以通过它进行积分,得到maxHealth
,而不需要知道每个元素的类.
谢谢你的帮助