我有一个非常简单的问题,我目前有一个DB类,每个Collections都有一个子类:
public class DB: MonoBehaviour {
// List of items
public static List<DB.User> Users = new List<DB.User>();
public static List<DB.Foo> Foos = new List<DB.Foo>();
public static DB instance;
// Use this for initialization
void Awake()
{
if (DB.instance == null)
{
DB.instance = this;
}
else
{
Destroy(this.gameObject);
}
}
// Defs
[System.Serializable]
public class User {
public string name;
public User(name) {
this.name = name;
}
}
[System.Serializable]
public class Foo {
public int bar;
/* ... */
}
// Method
public static Add (DB.User user) {
DB.instance.Users.Add(user);
}
public static Add (DB.Foo foo) {
DB.instance.Foos.Add(foo);
}
}
但是我可以将有关用户的所有内容移到db-user.cs文件中(并将其保存到DB中)吗?
示例(不起作用):
// Define the User class
[System.Serializable]
public class static DB.User {
public string name;
/* ... */
}
// Add a function to DB:
public static DB.Add (DB.User user) {
DB.instance.Users.Add(user);
}
答案 0 :(得分:-2)
是的,您可以这样做。但是您不表示使用Class.Subclass
继承,而是使用Subclass : Class
[System.Serializable]
public class User : Data {
...
public void Add(User user){
this.users.Add(user);
}
}
我将从Data类中重构用户和foos的列表。最好创建一个包含所有Data对象的DataFactory类,尤其是在将它们作为单例使用时。
编辑:看起来您已经更新了问题。用户和foo无需从您发布的新数据库版本继承。更改要保留的静态列表,一切就好了。