use of main.entity.obj.ActiveObj in project Eidolons by IDemiurge.
the class DC_ActionManager method generateModesForUnit.
public List<DC_ActiveObj> generateModesForUnit(Unit unit, ACTION_TYPE_GROUPS group) {
List<DC_ActiveObj> actions = new ArrayList<>();
for (ActiveObj active : unit.getActives()) {
DC_ActiveObj action = (DC_ActiveObj) active;
if (action.getActionGroup() != group) {
continue;
}
if (!StringMaster.isEmpty(action.getActionMode())) {
continue;
}
if (action.isAttackGeneric()) {
continue;
}
List<DC_ActiveObj> subActions = new ArrayList<>();
for (STD_ACTION_MODES mode : STD_ACTION_MODES.values()) {
if (checkModeForAction(action, unit, mode)) {
DC_UnitAction subAction = getModeAction(action, unit, mode);
subActions.add(subAction);
}
}
action.setSubActions(subActions);
actions.addAll(subActions);
}
return actions;
}
use of main.entity.obj.ActiveObj in project Eidolons by IDemiurge.
the class DungeonObjMaster method createAction.
public DC_UnitAction createAction(T sub, Unit unit, String typeName, DungeonObj obj) {
// TODO CACHE
DC_UnitAction action = unit.getGame().getActionManager().getOrCreateAction(typeName, unit);
action.setTargeting(new SelectiveTargeting(new Conditions(new DistanceCondition("1", true), new FacingCondition(FACING_SINGLE.IN_FRONT))));
action.setConstructed(true);
action.getTargeter().setTargetingInitialized(true);
action.setTargetingCachingOff(true);
action.setActionTypeGroup(ACTION_TYPE_GROUPS.STANDARD);
action.setAbilities(null);
List<ActiveObj> actives = new ArrayList<>();
actives.add(new ActiveAbilityObj((AbilityType) DataManager.getType("Dummy Ability", DC_TYPE.ABILS), unit.getRef(), unit.getOwner(), unit.getGame()) {
@Override
public boolean activatedOn(Ref ref) {
return actionActivated(sub, unit, obj);
}
});
action.setActives(actives);
action.setActionTypeGroup(ACTION_TYPE_GROUPS.DUNGEON);
return action;
}
use of main.entity.obj.ActiveObj in project Eidolons by IDemiurge.
the class UnitResetter method resetActives.
public void resetActives() {
for (ActiveObj active : getEntity().getActives()) {
active.setRef(getRef());
active.toBase();
}
}
Aggregations