public override void Push(FModuleInfo item) { item.Process = _process; // build base address map if (item.BaseAddress != 0) { _mapAddress.Set(item.BaseAddress, item); } // Push base.Push(item); }
//============================================================ // <T>向类索引Map表中加入节点 。</T> // // @param node 需要加入的节点信息 //============================================================ public void AddNode(FMapNode node) { if (_classesMap.Contains(node.ClassStr)) { _classesMap[node.ClassStr].Add(node.ArrayStr); } else { FArray <string> arrNode = new FArray <string>(); arrNode.Add(node.ArrayStr); _classesMap.Set(node.ClassStr, arrNode); } }
//============================================================ // <T>绘制出生点。</T> //============================================================ public void DrawBirths() { FObjects <FMbMapBirth> births = _map.Births; if (!births.IsEmpty()) { int count = births.Count; for (int n = 0; n < count; n++) { FMbMapBirth birth = births[n]; SIntPoint2 location = birth.Location; // 获取敌机集合 FObjects <FMbMapBirthEnemy> enemys = birth.BirthEnemys; int enemyCount = enemys.Count; for (int x = 0; x < enemyCount; x++) { FMbMapBirthEnemy birthEnemy = enemys[x]; int templateId = birthEnemy.TemplateId; FMbTplEnemy enemy = RMobileManager.TemplateConsole.EnemyConsole.FingById(templateId); int resourceRid = enemy.ResourceRid; // 获取资源图片 FRsResourcePicture resource = RContent2dManager.ResourceConsole.FindOpen(resourceRid) as FRsResourcePicture; Bitmap resourceMap = resource.Bitmap.Native; // 创建绘制对象 FDxBitmap bitmap = null; if (!_dxBitmapSet.Contains(resourceRid.ToString())) { bitmap = _context.Device.CreateBitmap(resourceMap); _dxBitmapSet.Set(resourceRid.ToString(), bitmap); } else { bitmap = _dxBitmapSet.Get(resourceRid.ToString()); } _context.DrawBitmap(bitmap, location.X - _location.X, location.Y - _location.Y); } } } }
//============================================================ // <T>向MAP表里面加入节点。</T> // // @param node 需要加工的节点 // @param dotHFilePath H文件的路径 //============================================================ public void AddNode(FMapNode node, string dotHFilePath) { if (_classesMap.Names.Contains(node.FileDotH)) { _classesMap[node.FileDotH].Add(node.ClassStr); } else { FArray <string> arrNode = new FArray <string>(); arrNode.Add(dotHFilePath); arrNode.Add(node.ClassStr); _classesMap.Set(node.FileDotH, arrNode); } }