private Entity getEntity(String entityName) { return runner.getContext().getProcessor(Entities.class).getByDtName(getEngineDependentEntityName(entityName)); }
public void run() { try { MainWindow window = new MainWindow(); window.getClassTree().setModel(new DefaultTreeModel(new TreeConstructor(ctx.getProcessor(DTClasses.class)).construct())); window.getFrame().setVisible(true); } catch (Exception e) { e.printStackTrace(); } } });
@Override public void bind(Context ctx) throws IllegalAccessException { log.debug("bind %s to context", method); MethodHandle boundHandle = MethodHandles.publicLookup().unreflect(method).bindTo(ctx.getProcessor(processorClass)); if (hasContextParameter()) { boundHandle = boundHandle.bindTo(ctx); } this.methodHandle = boundHandle.asSpreader(Object[].class, arity); }
@Override public void bind(Context ctx) throws IllegalAccessException { log.debug("bind %s to context", method); MethodHandle boundHandle = MethodHandles.publicLookup().unreflect(method).bindTo(ctx.getProcessor(processorClass)); if (hasContextParameter()) { boundHandle = boundHandle.bindTo(ctx); } this.methodHandle = boundHandle.asSpreader(Object[].class, arity); }
@OnMessage(CUserMessageSayText2.class) public void onAllChatS2(Context ctx, CUserMessageSayText2 message) { Entry entry = new Entry(time); entry.unit = String.valueOf(message.getParam1()); entry.key = String.valueOf(message.getParam2()); Entity e = ctx.getProcessor(Entities.class).getByIndex(message.getEntityindex()); entry.slot = getEntityProperty(e, "m_iPlayerID", null); entry.type = "chat"; output(entry); }
StringTables stringTables = ctx.getProcessor(StringTables.class); DTClasses dtClasses = ctx.getProcessor(DTClasses.class); StringTable baselines = stringTables.forName("instancebaseline");
@OnEntityEntered public void onEntityEntered(Context ctx, Entity e) { if (e.getDtClass().getDtName().equals("CDOTAWearableItem")) { Integer accountId = getEntityProperty(e, "m_iAccountID", null); Integer itemDefinitionIndex = getEntityProperty(e, "m_iItemDefinitionIndex", null); Integer ownerHandle = getEntityProperty(e, "m_hOwnerEntity", null); Entity owner = ctx.getProcessor(Entities.class).getByHandle(ownerHandle); //System.err.format("%s,%s\n", accountId, itemDefinitionIndex); if (accountId > 0) { // Get the owner (a hero entity) Integer playerId = getEntityProperty(owner, "m_iPlayerID", null); Long accountId64 = 76561197960265728L + accountId; Integer playerSlot = steamid_to_playerslot.get(accountId64); cosmeticsMap.put(itemDefinitionIndex, playerSlot); } } }
public void runSeek(String[] args) throws Exception { Runner runner = new SimpleRunner(new MappedFileSource(args[0])).runWith(this); StringTables st = runner.getContext().getProcessor(StringTables.class); for (String name : names) { StringTable t = st.forName(name); System.out.println(t.toString()); } }
@OnMessage(CDOTAUserMsg_SpectatorPlayerUnitOrders.class) public void onSpectatorPlayerUnitOrders(Context ctx, CDOTAUserMsg_SpectatorPlayerUnitOrders message) { Entry entry = new Entry(time); entry.type = "actions"; //the entindex points to a CDOTAPlayer. This is probably the player that gave the order. Entity e = ctx.getProcessor(Entities.class).getByIndex(message.getEntindex()); entry.slot = getEntityProperty(e, "m_iPlayerID", null); //Integer handle = (Integer)getEntityProperty(e, "m_hAssignedHero", null); //Entity h = ctx.getProcessor(Entities.class).getByHandle(handle); //System.err.println(h.getDtClass().getDtName()); //break actions into types? entry.key = String.valueOf(message.getOrderType()); //System.err.println(message); output(entry); }
StringTable stEntityNames = ctx.getProcessor(StringTables.class).forName("EntityNames"); Entities entities = ctx.getProcessor(Entities.class);
private Entry buildWardEntry(Context ctx, Entity e) { Entry entry = new Entry(time); boolean isObserver = !e.getDtClass().getDtName().contains("TrueSight"); Integer x = getEntityProperty(e, "CBodyComponent.m_cellX", null); Integer y = getEntityProperty(e, "CBodyComponent.m_cellY", null); Integer z = getEntityProperty(e, "CBodyComponent.m_cellZ", null); Integer life_state = getEntityProperty(e, "m_lifeState", null); Integer[] pos = {x, y}; entry.x = x; entry.y = y; entry.z = z; entry.type = isObserver ? "obs" : "sen"; entry.entityleft = life_state == 1; entry.key = Arrays.toString(pos); entry.ehandle = e.getHandle(); if (entry.entityleft) { entry.type += "_left"; } Integer owner = getEntityProperty(e, "m_hOwnerEntity", null); Entity ownerEntity = ctx.getProcessor(Entities.class).getByHandle(owner); entry.slot = ownerEntity != null ? (Integer) getEntityProperty(ownerEntity, "m_iPlayerID", null) : null; return entry; } }
Entity grp = ctx.getProcessor(Entities.class).getByDtName("CDOTAGamerulesProxy"); Entity pr = ctx.getProcessor(Entities.class).getByDtName("CDOTA_PlayerResource"); Entity dData = ctx.getProcessor(Entities.class).getByDtName("CDOTA_DataDire"); Entity rData = ctx.getProcessor(Entities.class).getByDtName("CDOTA_DataRadiant"); Entity e = ctx.getProcessor(Entities.class).getByHandle(handle);