コード例 #1
0
ファイル: Arma3SyncService.cs プロジェクト: Exitera/launcher
 public Arma3SyncService(IFileAccessor fileAccessor, IRegistryAccessor registryAccessor, INetworkAccessor networkAccessor, IProcessAccessor processAccessor, ILogger logger)
     : base(logger)
 {
     _fileAccessor     = fileAccessor;
     _registryAccessor = registryAccessor;
     _networkAccessor  = networkAccessor;
     _processAccessor  = processAccessor;
 }
コード例 #2
0
        protected void ReadObjectData(IProcessAccessor a)
        {
            var m = a.ReadMemory(new IntPtr(DataPtr), Math.Min(64, DataSize1));

            if (m.Success)
            {
                ObjectData = Enumerable.Range(0, m.Data.Length / 4)
                             .Select(i => BitConverter.ToUInt32(m.Data, i * 4)).ToArray();
            }
        }
コード例 #3
0
        public OperationRegistry(IProcessAccessor process, IEnumerable <IOperation <TOperationRow, TOperationContext> > operations, DependencyGraph <Type> dependencyGraph)
        {
            _rowProcessingBeginning = new RowProcessingBeginningOperation <TOperationRow, TOperationContext>(process);
            _rowProcessingEnding    = new RowProcessingEndingOperation <TOperationRow, TOperationContext>(process);

            _operationsList.Add(_yieldDetection);
            _operationsList.Add(_rowProcessingBeginning);
            _operationsList.AddRange(operations);
            _operationsList.Add(_rowProcessingEnding);
            _dependencyGraph = dependencyGraph;
        }
コード例 #4
0
        public UpdaterService(IFileAccessor fileAccessor, INetworkAccessor networkAccessor, IProcessAccessor processAccessor, ILogger logger, IEventAggregator eventAggregator)
            : base(logger)
        {
            _fileAccessor    = fileAccessor;
            _networkAccessor = networkAccessor;
            _processAccessor = processAccessor;
            _eventAggregator = eventAggregator;

            Version version = Assembly.GetExecutingAssembly().GetName().Version;

            _assemblyVersion = string.Join(".", version.Major, version.Minor, version.Build);
        }
コード例 #5
0
        public GameService(IProcessAccessor processAccessor, IClipboardAccessor clipboardAccessor, ILogger logger, ISettingsService settingsService,
                           IAddonService addonService, IParameterService parameterService, ISecurityService securityService) : base(logger)
        {
            _processAccessor   = processAccessor;
            _clipboardAccessor = clipboardAccessor;

            _settingsService  = settingsService;
            _addonService     = addonService;
            _parameterService = parameterService;
            _securityService  = securityService;

            LaunchSettings = new LaunchSettings();
        }
コード例 #6
0
        public static string ReadStringZ(IProcessAccessor a, uint addr, int max)
        {
            var m = a.ReadMemory(new IntPtr(addr), max);

            if (!m.Success)
            {
                return(null);
            }

            var idx = Array.IndexOf(m.Data, (byte)0);
            var len = idx < 0 ? m.Data.Length : idx;

            return(Encoding.GetString(m.Data, 0, len));
        }
コード例 #7
0
        public static string ReadString(IProcessAccessor a, uint addr)
        {
            var m = a.ReadMemory(new IntPtr(addr), 20);

            if (!m.Success)
            {
                return(null);
            }

            var len = BitConverter.ToInt32(m.Data, 16);

            if (len >= 16)
            {
                m = a.ReadMemory(new IntPtr(BitConverter.ToUInt32(m.Data, 0)), len);
            }

            if (!m.Success)
            {
                return(null);
            }

            return(Encoding.GetString(m.Data, 0, len));
        }
コード例 #8
0
 public RowProcessingBeginningOperation(IProcessAccessor process)
 {
     _process        = process;
     DisplayMessages = true;
 }
コード例 #9
0
 public void WriteTotalExp(IProcessAccessor pa, uint value)
 {
     WriteParam(pa, 7, value);
 }
コード例 #10
0
 public void WriteFriendship(IProcessAccessor pa, uint value)
 {
     WriteParam(pa, 2, value);
 }
コード例 #11
0
 public void WriteMedal(IProcessAccessor pa, uint value)
 {
     WriteParam(pa, 1, value);
 }
コード例 #12
0
 public void WriteIngot(IProcessAccessor pa, uint value)
 {
     WriteParam(pa, 0, value);
 }
コード例 #13
0
 public void WriteParam(IProcessAccessor pa, int index, uint value)
 {
     pa.WriteMemory(new IntPtr(DataAddress + index * 4), BitConverter.GetBytes(value));
 }
コード例 #14
0
        protected void ReadValueString(IProcessAccessor a)
        {
            var straddr = GetUInt32(4 * 4);

            ValueString = ReadStringZ(a, straddr, 256);
        }
コード例 #15
0
        protected void ReadClassName(IProcessAccessor a)
        {
            var nameaddr = GetUInt32(14 * 4);

            ClassName = ReadString(a, nameaddr);
        }
コード例 #16
0
 public override void Analyze(IProcessAccessor a)
 {
 }
コード例 #17
0
 public abstract void Analyze(IProcessAccessor a);
コード例 #18
0
 public override void Analyze(IProcessAccessor a)
 {
     ReadArrayData(a);
 }
コード例 #19
0
 public override void Analyze(IProcessAccessor a)
 {
     ReadClassName(a);
     ReadObjectData(a);
 }
コード例 #20
0
 public override void Analyze(IProcessAccessor a)
 {
     ReadValueString(a);
 }