/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.petah.spring.bai;
import com.springrts.ai.oo.AIFloat3;
import com.springrts.ai.oo.clb.Unit;
import org.petah.common.util.GameMath;
import org.petah.spring.bai.cache.CachedMap;
import org.petah.spring.bai.delegate.AIDelegate;
import org.petah.spring.bai.delegate.GlobalDelegate;
import org.petah.spring.bai.listener.adapter.UnitEventAdapter;
import org.petah.spring.bai.util.Compass;
import org.petah.spring.bai.util.MapUtil;
/**
*
* @author davnei06
*/
public class PositionManager extends UnitEventAdapter {
private AIDelegate aiDelegate;
private AIFloat3 baseCenter;
private float startDirection;
private Compass startSide;
public PositionManager(AIDelegate aiDelegate) {
this.aiDelegate = aiDelegate;
// aiDelegate.getAIEventHandler().addUnitEventListener(this);
}
// Implemented methods
@Override
public void unitFinished(Unit unit) {
AIFloat3 pos = unit.getPos();
baseCenter = pos;
startDirection = GameMath.pointDirection(pos.x, pos.y,
MapUtil.mapToTerrain(GlobalDelegate.getMapWidth() / 2),
MapUtil.mapToTerrain(GlobalDelegate.getMapHeight() / 2));
startSide = Compass.fromAngle(startDirection);
// aiDelegate.getAIEventHandler().removeUnitEventListener(this);
}
// Getters
public AIFloat3 getBaseCenter() {
return baseCenter;
}
public float getStartDirection() {
return startDirection;
}
public Compass getStartSide() {
return startSide;
}
}