/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.petah.spring.bai.tasks.standard; import org.petah.common.option.Option; import org.petah.common.option.OptionsManager; import org.petah.spring.bai.cache.CachedUnit; import org.petah.spring.bai.delegate.AIDelegate; import org.petah.spring.bai.group.UnitGroup; import org.petah.spring.bai.tasks.Task; import org.petah.spring.bai.util.CommandUtil; // TODO: check this is working /** * * @author Petah */ public class DefaultMetalMaker extends Task { // Options private static Option<Integer> updateTime = OptionsManager.getOption( new Option<Integer>("DefaultMetalMaker.updateTime", 30)); // Class properties private int nextUpdate = 0; public DefaultMetalMaker(AIDelegate aiDelegate) { super(aiDelegate); } @Override public boolean update(UnitGroup group, int frame) { // If its time to update if (nextUpdate <= frame) { nextUpdate = frame + updateTime.getValue(); for (CachedUnit unit : group) { // (aiDelegate.getResourceManager().getEnergyIncome() < aiDelegate.getResourceManager().getEnergyUsage() || // if (!aiDelegate.getResourceManager().isEnergyOver(0.5f)) { // if (unit.getEnergyUse() > 0) { // CommandUtil.setOnOff(aiDelegate, unit, false); // break; // } // } else if (aiDelegate.getResourceManager().getEnergyIncome() > aiDelegate.getResourceManager().getEnergyUsage() + 60 && // unit.getEnergyUse() == 0 && aiDelegate.getResourceManager().isEnergyOver(0.5f)) { // CommandUtil.setOnOff(aiDelegate, unit, true); // break; // } if (!aiDelegate.getResourceManager().isEnergyOver(0.4f)) { unit.setOn(false); } else if (aiDelegate.getResourceManager().isEnergyOver(0.6f)) { unit.setOn(true); } } } return false; } }