///* // * To change this template, choose Tools | Templates // * and open the template in the editor. // */ //package org.petah.spring.bai.group; // //import org.petah.spring.bai.cache.CachedUnit; //import org.petah.spring.bai.delegate.AIDelegate; //import org.petah.spring.bai.tasks.standard.DefaultBomber; //import org.petah.spring.bai.tasks.standard.DefaultExpansionBuilder; //import org.petah.spring.bai.tasks.standard.DefaultMetalMaker; //import org.petah.spring.bai.tasks.standard.DefaultNanoStage1; //import org.petah.spring.bai.tasks.porc.PorcT1BaseBuilder; //import org.petah.spring.bai.tasks.porc.PorcCommanderStage1; //import org.petah.spring.bai.tasks.porc.PorcFactory; //import org.petah.spring.bai.tasks.porc.PorcT2BaseBuilder; //import org.petah.spring.bai.tasks.porc.PorcT2ExpansionBuilder; //import org.petah.spring.bai.tasks.standard.DefaultFighter; //import org.petah.spring.bai.tasks.standard.DefaultRaider; //import org.petah.spring.bai.tasks.standard.DefaultScout; //import org.petah.spring.bai.unit.Faction; //import org.petah.spring.bai.unit.UnitInfo; //import org.petah.spring.bai.unit.UnitType; // ///** // * // * @author Petah // */ //public class PorcGroupManager extends GroupManager { // // public PorcGroupManager(AIDelegate aiDelegate) { // super(aiDelegate); // } // // @Override // public void initGroups() { // addGroup("Commanders", new UnitGroup(aiDelegate)); // getGroup("Commanders").addTask(new PorcCommanderStage1(aiDelegate)); // // addGroup("MetalExtractors", new UnitGroup(aiDelegate)); // addGroup("MetalStorage", new UnitGroup(aiDelegate)); // addGroup("MetalMakers", new UnitGroup(aiDelegate)); // getGroup("MetalMakers").addTask(new DefaultMetalMaker(aiDelegate)); // // addGroup("EnergyGenerators", new UnitGroup(aiDelegate)); // addGroup("EnergyStorage", new UnitGroup(aiDelegate)); // // addGroup("Nanos", new UnitGroup(aiDelegate)); // getGroup("Nanos").addTask(new DefaultNanoStage1(aiDelegate)); // // addGroup("T2Factorys", new UnitGroup(aiDelegate)); // getGroup("T2Factorys").addTask(new PorcFactory(aiDelegate)); // // addGroup("Factorys", new UnitGroup(aiDelegate)); // getGroup("Factorys").addTask(new PorcFactory(aiDelegate)); // // addGroup("Scouts", new UnitGroup(aiDelegate)); // getGroup("Scouts").addTask(new DefaultScout(aiDelegate)); // // addGroup("Raiders", new UnitGroup(aiDelegate)); // getGroup("Raiders").addTask(new DefaultRaider(aiDelegate)); // // addGroup("Assault", new UnitGroup(aiDelegate)); // getGroup("Assault").addTask(new DefaultRaider(aiDelegate)); // // addGroup("Bombers", new UnitGroup(aiDelegate)); // getGroup("Bombers").addTask(new DefaultBomber(aiDelegate)); // // addGroup("Fighters", new UnitGroup(aiDelegate)); // getGroup("Fighters").addTask(new DefaultFighter(aiDelegate)); // // addGroup("T2Builders", new UnitGroup(aiDelegate)); // // addGroup("T2ExpansionBuilders", new UnitGroup(aiDelegate)); // getGroup("T2ExpansionBuilders").addTask(new PorcT2ExpansionBuilder(aiDelegate)); // // addGroup("T2BaseBuilders", new UnitGroup(aiDelegate)); // getGroup("T2BaseBuilders").addTask(new PorcT2BaseBuilder(aiDelegate)); // // addGroup("Builders", new UnitGroup(aiDelegate)); // // addGroup("ExpansionBuilders", new UnitGroup(aiDelegate)); // getGroup("ExpansionBuilders").addTask(new DefaultExpansionBuilder(aiDelegate)); // // addGroup("BaseBuilders", new UnitGroup(aiDelegate)); // getGroup("BaseBuilders").addTask(new PorcT1BaseBuilder(aiDelegate)); // // addGroup("Other", new UnitGroup(aiDelegate)); // } // // @Override // public void groupUnit(CachedUnit unit) { // UnitInfo unitInfo = unit.getUnitInfo(); // if (!unitInfo.isType(UnitType.Level2)) { // // Units // if (unitInfo.isType(UnitType.Scout)) { // getGroup("Scouts").addUnit(unit); // } else if (unitInfo.isType(UnitType.Raider)) { // if (unitInfo.isType(UnitType.Kbot) && // Faction.getFaction(unit.getDef()) == Faction.Core) { // if (getGroup("Scouts").size() <= getGroup("Raiders").size() && // !getGroup("Raiders").contains(unit)) { // getGroup("Scouts").addUnit(unit); // } else if (!getGroup("Scouts").contains(unit)) { // getGroup("Raiders").addUnit(unit); // } // } else { // getGroup("Raiders").addUnit(unit); // } // } else if (unitInfo.isType(UnitType.Bomber)) { // getGroup("Bombers").addUnit(unit); // } else if (unitInfo.isType(UnitType.Fighter)) { // getGroup("Fighters").addUnit(unit); // } else if (unitInfo.isType(UnitType.Assault) || // unitInfo.isType(UnitType.Ranger)) { // getGroup("Assault").addUnit(unit); // } else if (unitInfo.isType(UnitType.Builder)) { // getGroup("Builders").addUnit(unit); // if (getGroup("BaseBuilders").size() >= 1 && // !getGroup("BaseBuilders").contains(unit)) { // getGroup("ExpansionBuilders").addUnit(unit); // } else if (!getGroup("ExpansionBuilders").contains(unit)) { // getGroup("BaseBuilders").addUnit(unit); // } // } // Metal // else if (unitInfo.isType(UnitType.MetalExtractor)) { // getGroup("MetalExtractors").addUnit(unit); // } else if (unitInfo.isType(UnitType.MetalStorage)) { // getGroup("MetalStorage").addUnit(unit); // } else if (unitInfo.isType(UnitType.MetalMaker)) { // getGroup("MetalMakers").addUnit(unit); // } // Energy // else if (unitInfo.isType(UnitType.EnergyGenerator)) { // getGroup("EnergyGenerators").addUnit(unit); // } else if (unitInfo.isType(UnitType.EnergyStorage)) { // getGroup("EnergyStorage").addUnit(unit); // } // Buildings // else if (unitInfo.isType(UnitType.Factory)) { // getGroup("Factorys").addUnit(unit); // } else if (unitInfo.isType(UnitType.Nano)) { // getGroup("Nanos").addUnit(unit); // } // Commander // else if (unitInfo.isType(UnitType.Commander)) { // getGroup("Commanders").addUnit(unit); // } else { // getGroup("Other").addUnit(unit); // } // } else { // if (unitInfo.isType(UnitType.Builder)) { // getGroup("T2Builders").addUnit(unit); // if (getGroup("T2BaseBuilders").size() >= 1 && // !getGroup("T2BaseBuilders").contains(unit)) { // getGroup("T2ExpansionBuilders").addUnit(unit); // } else if (!getGroup("T2ExpansionBuilders").contains(unit)) { // getGroup("T2BaseBuilders").addUnit(unit); // } // } else if (unitInfo.isType(UnitType.Factory)) { // getGroup("T2Factorys").addUnit(unit); // } else { // getGroup("Other").addUnit(unit); // } // } // } //}