public override void Apply(IComponentModel model, object component) { if (component is ILookupEnabled) { IDependencyModel[] dependencies = GetLookupDependencies(model); LookupManager manager = new LookupManager( m_kernel, dependencies ); ContainerUtil.Service( component, manager ); } base.Apply( model, component ); }
public void Write(List<MovesetEntry> entries, LookupManager lookup, VoidPtr basePtr, VoidPtr address) { Offsets* addr = (Offsets*)address; int i = 0; foreach (MovesetEntry e in entries) { addr->Entries[i] = (uint)e._rebuildAddr - (uint)basePtr; lookup.Add(&addr->Entries[i++]); } }
public void Write(List<MovesetEntry> entries, LookupManager lookup, VoidPtr basePtr, VoidPtr address) { }
protected override void PostProcess(LookupManager lookupOffsets) { sParameter* arg = (sParameter*)_rebuildAddr; arg->_type = (int)ParamType; if (_script != null) { //if (action._entryOffset == 0) // Console.WriteLine("Action offset = 0"); arg->_data = Offset(_script._rebuildAddr); if (arg->_data > 0) lookupOffsets.Add(arg->_data.Address); } else { arg->_data = -1; if (External) _rebuildAddr += 4; else foreach (ExternalEntry e in _root.ReferenceList) if (e.Name == this.Name) { _externalEntry = e; //if (!e.References.Contains(this)) e.References.Add(this); _rebuildAddr += 4; break; } } }