游戏开发和Web开发不同的地方在于,游戏对象通常是常驻内存的。
当用户登录的时候会一次性把玩家某个模块的数据全部读到内存里面,以后除了维护之外,内存中的数据都不会被释放掉,需要持久化的数据定时批量地写入数据库。
经常要为玩家角色存储一些数据,比如神器,装备,时装,他们都是GameObject,就像这样:
public abstract class GameObject {
public enum DataState {
......
};
protected DataState curDataState = DataState.dsModify;
......
protected abstract int saveInsert();
protected abstract int saveDelete();
protected abstract int saveModify();
public abstract long getId();
public abstract void setAllModifyState();
public abstract void clearModifyState();
public abstract int deleteObject();
@JsonIgnore
protected boolean bSaveDBFlag = false;
@JsonIgnore
public boolean&n