public String toString() { return dtClass == null ? "" : dtClass.getDtName(); }
@Override public String toString() { String title = "idx: " + index + ", serial: " + serial + ", class: " + dtClass.getDtName(); return dtClass.dumpState(title, state); }
@Override public boolean apply(Object[] value) { Entity e = (Entity) value[0]; return p.matcher(e.getDtClass().getDtName()).matches(); } };
@Override public boolean apply(Entity e) { return dtClassName.equals(e.getDtClass().getDtName()); } });
@Override public String toString() { String title = "idx: " + index + ", serial: " + serial + ", class: " + dtClass.getDtName(); return dtClass.dumpState(title, state); }
@OnDTClass public void onDTClass(DTClass dtClass) { byDtName.put(dtClass.getDtName(), dtClass); }
@OnDTClass public void onDTClass(DTClass dtClass) { byDtName.put(dtClass.getDtName(), dtClass); }
@Override public boolean apply(Object[] value) { Entity e = (Entity) value[0]; return p.matcher(e.getDtClass().getDtName()).matches(); } };
@Override public boolean apply(Entity e) { return dtClassName.equals(e.getDtClass().getDtName()); } });
private boolean isWard(Entity e) { return WARDS_DT_CLASSES.contains(e.getDtClass().getDtName()); }
private boolean isHero(Entity e) { return e.getDtClass().getDtName().startsWith("CDOTA_Unit_Hero"); }
@SuppressWarnings("unchecked") public <T> T getProperty(String property) { FieldPath fp = dtClass.getFieldPathForName(property); if (fp == null) { throw new IllegalArgumentException(String.format("property %s not found on entity of class %s", property, getDtClass().getDtName())); } return getPropertyForFieldPath(fp); }
@SuppressWarnings("unchecked") public <T> T getProperty(String property) { FieldPath fp = dtClass.getFieldPathForName(property); if (fp == null) { throw new IllegalArgumentException(String.format("property %s not found on entity of class %s", property, getDtClass().getDtName())); } return getPropertyForFieldPath(fp); }
@OnEntitySpawned public void onSpawned(Entity e) { System.out.printf("%06d: %s at index %d has spawned\n", ctx.getTick(), e.getDtClass().getDtName(), e.getIndex()); }
@OnEntityDied public void onDied(Entity e) { System.out.printf("%06d: %s at index %d has died\n", ctx.getTick(), e.getDtClass().getDtName(), e.getIndex()); }
@OnEntityPropertyChanged(classPattern = "CDOTA_Unit_Hero_.*", propertyPattern = "m_lifeState") public void onEntityPropertyChanged(Context ctx, Entity e, FieldPath fp) { System.out.format( "%6d %s: %s = %s\n", ctx.getTick(), e.getDtClass().getDtName(), e.getDtClass().getNameForFieldPath(fp), e.getPropertyForFieldPath(fp) ); }
@OnEntityCreated public void onCreated(Entity e) { if (!isHero(e)) { return; } ensureFieldPaths(e); System.out.format("%s (%s/%s)\n", e.getDtClass().getDtName(), e.getPropertyForFieldPath(mana), e.getPropertyForFieldPath(maxMana)); }
private Object[] getBaseline(int clsId) { BaselineEntry be = baselineEntries.get(clsId); if (be == null) { throw new ClarityException("Baseline for class %s (%d) not found.", dtClasses.forClassId(clsId).getDtName(), clsId); } if (be.baseline == null) { DTClass cls = dtClasses.forClassId(clsId); BitStream stream = BitStream.createBitStream(be.rawBaseline); be.baseline = cls.getEmptyStateArray(); fieldReader.readFields(stream, cls, be.baseline, false); } return be.baseline; }
private Object[] getBaseline(int clsId) { BaselineEntry be = baselineEntries.get(clsId); if (be == null) { throw new ClarityException("Baseline for class %s (%d) not found.", dtClasses.forClassId(clsId).getDtName(), clsId); } if (be.baseline == null) { DTClass cls = dtClasses.forClassId(clsId); BitStream stream = BitStream.createBitStream(be.rawBaseline); be.baseline = cls.getEmptyStateArray(); fieldReader.readFields(stream, cls, be.baseline, false); } return be.baseline; }