本文整理汇总了Java中rescuecore2.standard.entities.Human类的典型用法代码示例。如果您正苦于以下问题:Java Human类的具体用法?Java Human怎么用?Java Human使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Human类属于rescuecore2.standard.entities包,在下文中一共展示了Human类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: computeAnimation
import rescuecore2.standard.entities.Human; //导入依赖的package包/类
/**
* Compute the animation frames.
*
* @param frameCount The number of animation frames to compute.
*/
public void computeAnimation(int frameCount) {
synchronized (this) {
frames.clear();
// Compute animation
double step = 1.0 / (frameCount - 1.0);
for (EntityID next : humanIDs) {
Queue<Pair<Integer, Integer>> result = new LinkedList<Pair<Integer, Integer>>();
Human human = (Human) world.getEntity(next);
if (human == null) {
continue;
}
AgentPath path = AgentPath.computePath(human, world);
if (path == null) {
continue;
}
for (int i = 0; i < frameCount; ++i) {
Pair<Integer, Integer> nextPoint = path.getPointOnPath(i * step);
result.add(nextPoint);
}
result.add(human.getLocation(world));
frames.put(next, result);
}
animationDone = false;
}
}
示例2: calc
import rescuecore2.standard.entities.Human; //导入依赖的package包/类
@Override
public HumanDetector calc() {
Human transportHuman = this.agentInfo.someoneOnBoard();
if (transportHuman != null) {
logger.debug("someoneOnBoard:" + transportHuman);
this.result = transportHuman.getID();
return this;
}
if (this.result != null) {
Human target = (Human) this.worldInfo.getEntity(this.result);
if (!isValidHuman(target)) {
logger.debug("Invalid Human:" + target + " ==>reset target");
this.result = null;
}
}
if (this.result == null) {
this.result = calcTarget();
}
return this;
}
示例3: calcTarget
import rescuecore2.standard.entities.Human; //导入依赖的package包/类
private EntityID calcTarget() {
List<Human> rescueTargets = filterRescueTargets(this.worldInfo.getEntitiesOfType(CIVILIAN));
List<Human> rescueTargetsInCluster = filterInCluster(rescueTargets);
List<Human> targets = rescueTargetsInCluster;
if (targets.isEmpty())
targets = rescueTargets;
logger.debug("Targets:"+targets);
if (!targets.isEmpty()) {
targets.sort(new DistanceSorter(this.worldInfo, this.agentInfo.me()));
Human selected = targets.get(0);
logger.debug("Selected:"+selected);
return selected.getID();
}
return null;
}
示例4: filterInCluster
import rescuecore2.standard.entities.Human; //导入依赖的package包/类
private List<Human> filterInCluster(Collection<? extends StandardEntity> entities) {
int clusterIndex = clustering.getClusterIndex(this.agentInfo.getID());
List<Human> filter = new ArrayList<>();
HashSet<StandardEntity> inCluster = new HashSet<>(clustering.getClusterEntities(clusterIndex));
for (StandardEntity next : entities) {
if (!(next instanceof Human))
continue;
Human h = (Human) next;
if (!h.isPositionDefined())
continue;
StandardEntity position = this.worldInfo.getPosition(h);
if (position == null)
continue;
if (!inCluster.contains(position))
continue;
filter.add(h);
}
return filter;
}
示例5: isValidHuman
import rescuecore2.standard.entities.Human; //导入依赖的package包/类
private boolean isValidHuman(StandardEntity entity) {
if (entity == null)
return false;
if (!(entity instanceof Human))
return false;
Human target = (Human) entity;
if (!target.isHPDefined() || target.getHP() == 0)
return false;
if (!target.isPositionDefined())
return false;
if (!target.isDamageDefined() || target.getDamage() == 0)
return false;
if (!target.isBuriednessDefined())
return false;
StandardEntity position = worldInfo.getPosition(target);
if (position == null)
return false;
StandardEntityURN positionURN = position.getStandardURN();
if (positionURN == REFUGE || positionURN == AMBULANCE_TEAM)
return false;
return true;
}
示例6: MrlBaseHumanLayer
import rescuecore2.standard.entities.Human; //导入依赖的package包/类
public MrlBaseHumanLayer() {
super(Human.class);
ViewLayer annotation = this.getClass().getAnnotation(ViewLayer.class);
if (annotation != null) {
drawOverAllData = annotation.drawAllData();
}
}
示例7: render
import rescuecore2.standard.entities.Human; //导入依赖的package包/类
@Override
public Shape render(Human h, Graphics2D g, ScreenTransform t) {
Pair<Integer, Integer> location = getLocation(h);
if (location == null) {
return null;
}
if (h.isPositionDefined() && (world.getEntity(h.getPosition()) instanceof AmbulanceTeam)) {
return null;
}
int x = t.xToScreen(location.first());
int y = t.yToScreen(location.second());
Shape shape;
shape = new Ellipse2D.Double(x - SIZE / 2, y - SIZE / 2, SIZE, SIZE);
if (h == StaticViewProperties.selectedObject) {
g.setColor(Color.MAGENTA);
defaultCircle(h, g, t);
} else {
g.setColor(adjustColour(getColour(h), h.getHP()));
}
paintShape(h, shape, g);
if (drawOverAllData
&& (StaticViewProperties.selectedObject == null || !agentEntitiesMap.containsKey(StaticViewProperties.selectedObject.getID()))) {
if (overallEntities.contains(h.getID().getValue())) {
paintData(h, shape, g,t);
}
} else if (StaticViewProperties.selectedObject != null
&& agentEntitiesMap.containsKey(StaticViewProperties.selectedObject.getID())
&& agentEntitiesMap.get(StaticViewProperties.selectedObject.getID()).contains(h.getID().getValue())) {
paintData(h, shape, g,t);
}
return shape;
}
示例8: getColour
import rescuecore2.standard.entities.Human; //导入依赖的package包/类
protected Color getColour(Human h) {
switch (h.getStandardURN()) {
case CIVILIAN:
return CIVILIAN_COLOUR;
case FIRE_BRIGADE:
return FIRE_BRIGADE_COLOUR;
case AMBULANCE_TEAM:
return AMBULANCE_TEAM_COLOUR;
case POLICE_FORCE:
return POLICE_FORCE_COLOUR;
default:
throw new IllegalArgumentException("Don't know how to draw humans of type " + h.getStandardURN());
}
}
示例9: compare
import rescuecore2.standard.entities.Human; //导入依赖的package包/类
public int compare(Human h1, Human h2) {
if (h1 instanceof Civilian && !(h2 instanceof Civilian)) {
return -1;
}
if (h2 instanceof Civilian && !(h1 instanceof Civilian)) {
return 1;
}
return h1.getID().getValue() - h2.getID().getValue();
}
示例10: getLocation
import rescuecore2.standard.entities.Human; //导入依赖的package包/类
@Override
protected Pair<Integer, Integer> getLocation(Human h) {
synchronized (this) {
Queue<Pair<Integer, Integer>> agentFrames = frames.get(h.getID());
if (agentFrames != null && !agentFrames.isEmpty()) {
return agentFrames.peek();
}
}
return h.getLocation(world);
}
示例11: viewObject
import rescuecore2.standard.entities.Human; //导入依赖的package包/类
@Override
protected void viewObject(Object o) {
super.viewObject(o);
if (o instanceof Human) {
humanIDs.add(((Human) o).getID());
}
}
示例12: paintData
import rescuecore2.standard.entities.Human; //导入依赖的package包/类
@Override
protected void paintData(Human h, Shape shape, Graphics2D g, ScreenTransform t) {
g.setColor(Color.MAGENTA.darker());
Circle2D circle2D = new Circle2D(t.xToScreen(h.getX()), t.yToScreen(h.getY()), 18d, true);
circle2D.draw(g);
// g.fill(shape);
}
示例13: filterRescueTargets
import rescuecore2.standard.entities.Human; //导入依赖的package包/类
private List<Human> filterRescueTargets(Collection<? extends StandardEntity> list) {
List<Human> rescueTargets = new ArrayList<>();
for (StandardEntity next : list) {
if (!(next instanceof Human))
continue;
Human h = (Human) next;
if (!isValidHuman(h))
continue;
if (h.getBuriedness() == 0)
continue;
rescueTargets.add(h);
}
return rescueTargets;
}
示例14: MessageHuman
import rescuecore2.standard.entities.Human; //导入依赖的package包/类
public MessageHuman(int messageID, Human human)
{
super(messageID);
humanID = human.getID();
humanHP = human.getHP();
humanBuriedness = human.getBuriedness();
humanDamage = human.getDamage();
humanPosition = human.getPosition();
}
示例15: defaultCircle
import rescuecore2.standard.entities.Human; //导入依赖的package包/类
protected void defaultCircle(Human h, Graphics2D g, ScreenTransform t) {
Circle2D circle2D = new Circle2D(t.xToScreen(h.getX()), t.yToScreen(h.getY()), 18d, true);
circle2D.draw(g);
}