private void RenderUnits(int halfWidth, int halfHeight, Graphics graphics, float scale, Vector3 playerPosition, float playerRotation) { IEnumerable <IWowUnit> wowUnits = AmeisenBot.Bot.Objects.WowObjects .OfType <IWowUnit>(); for (int i = 0; i < wowUnits.Count(); ++i) { IWowUnit unit = wowUnits.ElementAt(i); Brush selectedBrush = unit.IsDead ? DeadBrush : AmeisenBot.Bot.Db.GetReaction(AmeisenBot.Bot.Player, unit) switch { WowUnitReaction.Hated => EnemyBrush, WowUnitReaction.Hostile => EnemyBrush, WowUnitReaction.Neutral => NeutralBrush, WowUnitReaction.Friendly => FriendBrush, _ => DefaultEntityBrush, }; Point positionOnMap = GetRelativePosition(playerPosition, unit.Position, playerRotation, halfWidth, halfHeight, scale); if (unit.GetType() == typeof(IWowPlayer)) { if (AmeisenBot.Config.MapRenderPlayers) { string playerName = AmeisenBot.Config.MapRenderPlayerNames && AmeisenBot.Bot.Db.GetUnitName(unit, out string name) ? name : string.Empty; string playerExtra = AmeisenBot.Config.MapRenderPlayerExtra ? $"<{unit.Level} {unit.Race} {unit.Class}>" : string.Empty; RenderUnit(positionOnMap.X, positionOnMap.Y, playerName, playerExtra, selectedBrush, WowColorsDrawing.GetClassPrimaryBrush(unit.Class), TextFont, SubTextFont, SubTextBrush, graphics, 7); } } else { if (AmeisenBot.Config.MapRenderUnits) { string unitName = AmeisenBot.Config.MapRenderUnitNames && AmeisenBot.Bot.Db.GetUnitName(unit, out string name) ? name : string.Empty; string unitExtra = AmeisenBot.Config.MapRenderPlayerExtra ? $"<{unit.Level}>" : string.Empty; RenderUnit(positionOnMap.X, positionOnMap.Y, unitName, unitExtra, selectedBrush, TextBrush, TextFont, SubTextFont, SubTextBrush, graphics); } } } }
private void RenderUnits(int halfWidth, int halfHeight, Graphics graphics, double scale, Vector3 playerPosition, double playerRotation) { List <WowUnit> wowUnits = AmeisenBot.WowInterface.ObjectManager.WowObjects .OfType <WowUnit>() .ToList(); for (int i = 0; i < wowUnits.Count; ++i) { WowUnit unit = wowUnits[i]; Brush selectedBrush = unit.IsDead ? DeadBrush : (AmeisenBot.WowInterface.HookManager.WowGetUnitReaction(AmeisenBot.WowInterface.ObjectManager.Player, unit)) switch { WowUnitReaction.HostileGuard => EnemyBrush, WowUnitReaction.Hostile => EnemyBrush, WowUnitReaction.Neutral => NeutralBrush, WowUnitReaction.Friendly => FriendBrush, _ => DefaultEntityBrush, }; Point positionOnMap = GetRelativePosition(playerPosition, unit.Position, playerRotation, halfWidth, halfHeight, scale); if (unit.GetType() == typeof(WowPlayer)) { if (AmeisenBot.Config.MapRenderPlayers) { string playerName = AmeisenBot.Config.MapRenderPlayerNames ? unit.Name : string.Empty; string playerExtra = AmeisenBot.Config.MapRenderPlayerExtra ? $"<{unit.Level} {unit.Race} {unit.Class}>" : string.Empty; RenderUnit(positionOnMap.X, positionOnMap.Y, playerName, playerExtra, selectedBrush, WowColorsDrawing.GetClassPrimaryBrush(unit.Class), TextFont, SubTextFont, SubTextBrush, graphics, 7); } } else { if (AmeisenBot.Config.MapRenderUnits) { string unitName = AmeisenBot.Config.MapRenderUnitNames ? unit.Name : string.Empty; string unitExtra = AmeisenBot.Config.MapRenderPlayerExtra ? $"<{unit.Level}>" : string.Empty; RenderUnit(positionOnMap.X, positionOnMap.Y, unitName, unitExtra, selectedBrush, TextBrush, TextFont, SubTextFont, SubTextBrush, graphics); } } } }