mirror of
https://github.com/ProjectSWGCore/NGECore2.git
synced 2026-07-14 00:02:07 -04:00
ODB no longer uses DPL layer of Berkeley DB, persistent classes have to implement the Serializable interface, annotations are no longer used, use transient modifier for variables that should not be persistent. Entity reference errors will no longer occur, however it is better to use ids if the entity that is being referenced is stored in the db too! (or you will have two different objects). DB is cached for 5 minutes then it will write its log/cache to disk, transactions are no longer used.
64 lines
2.2 KiB
Java
64 lines
2.2 KiB
Java
/*******************************************************************************
|
|
* Copyright (c) 2013 <Project SWG>
|
|
*
|
|
* This File is part of NGECore2.
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Lesser General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*
|
|
* Using NGEngine to work with NGECore2 is making a combined work based on NGEngine.
|
|
* Therefore all terms and conditions of the GNU Lesser General Public License cover the combination.
|
|
******************************************************************************/
|
|
package services.mission;
|
|
|
|
import java.io.Serializable;
|
|
|
|
import com.sleepycat.persist.model.Persistent;
|
|
|
|
import resources.objects.mission.MissionObject;
|
|
|
|
@Persistent(version=0)
|
|
public abstract class MissionObjective implements Serializable {
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
protected long startTime;
|
|
protected boolean activated;
|
|
protected MissionObject parent;
|
|
private int objectivePhase;
|
|
|
|
public MissionObjective() { }
|
|
|
|
public MissionObjective(MissionObject parent) {
|
|
this.startTime = System.currentTimeMillis();
|
|
this.activated = false;
|
|
this.parent = parent;
|
|
this.objectivePhase = 0;
|
|
}
|
|
|
|
public abstract void activate();
|
|
public abstract void complete();
|
|
public abstract void abort();
|
|
public abstract void update();
|
|
|
|
public long getStartTime() { return startTime; }
|
|
|
|
public boolean isActivated() { return activated; }
|
|
public void setActive(boolean isActive) { this.activated = isActive; }
|
|
|
|
public MissionObject getMissionObject() { return parent; }
|
|
|
|
public int getObjectivePhase() { return objectivePhase; }
|
|
public void setObjectivePhase(int phase) { this.objectivePhase = phase; }
|
|
}
|