package com.vitco.core.data;
import com.vitco.core.data.container.DataContainer;
import com.vitco.core.data.notification.DataChangeAdapter;
import com.vitco.settings.VitcoSettings;
/**
* Manages everything that has to do with general data
*/
public class GeneralData extends ListenerData implements GeneralDataInterface {
// main data container
protected DataContainer dataContainer = new DataContainer();
// ######################
// true if the data has changed since last save
protected boolean hasChanged = false;
public GeneralData() {
this.addDataChangeListener(new DataChangeAdapter() {
@Override
public void onVoxelDataChanged() {
hasChanged = true;
}
@Override
public void onAnimationDataChanged() {
hasChanged = true;
}
});
}
@Override
public boolean hasChanged() {
synchronized (VitcoSettings.SYNC) {
return hasChanged;
}
}
@Override
public void resetHasChanged() {
synchronized (VitcoSettings.SYNC) {
hasChanged = false;
}
}
}