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)
 {
 }
Пример #4
0
        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;
                        }
            }
        }