我设法改变了设计,使用了List/Dictionary,它根据所选的键创建一个新的类实例。
我有一个问题,我试着自己解决,但我对我的解决方案不满意。让我们设置一个小示例:我有一个Farm类、一个Mill类和一个Bakery类。这些都是建筑物,我想把它们存储在一个列表中,显然我想在需要的时候管理它的元素。在这种情况下,这是一个服务器端代码,列表需要有一个球员的所有构建的列表,这样我就可以在他请求时发送给他该列表,例如,当它加入时。玩家可以建造一个农场来开始种植一些小麦,然后建立一个磨坊来开始粉碎它来制作面粉。然后他建了一个面包房来做一些面包或馅饼。以下是示例代码:
public class Program
{
public List<> Buildings = new List<>() //Or whatever solution to store them
}
public class Farm
{
public string Name;
public int CropType;
public float Timer;
}
public class Mill
{
public string Name;
public float Timer;
}
public class Bakery
{
public string Name;
public int ProductionType;
public bool IsOpen;
public float Timer;
}我尝试过使用接口、抽象类和普通类来派生,但是我没有找到我的解决方案。
这是我的尝试:
public interface IBuilding
{
string ExposedName { get; set; }
string ExposedDescription { get; set; }
}
public class Farm : IBuilding
{
public string Name { get { return Name; } set { Name = value; } }
public string Description { get { return Description; } set { Description = value; } }
public int Crop;
}
public class Mill : IBuilding
{
public string Name { get { return Name; } set { Name = value; } }
public string Description { get { return Description; } set { Description = value; } }
public float Timer;
}我希望能够访问列表中每个元素的每个变量,或者您向我推荐的任何解决方案,而无需使用性能不佳的代码。
https://stackoverflow.com/questions/56062959
复制相似问题