public DangerousAffixMonsterDefinition DefineDangerousAffix(MonsterAffix affix, AffixNameFunc affixNameFunc, int priority = 0, IFont eliteFont = null, IFont minionFont = null, bool showMinionDecorators = false, bool showMinionAffixesNames = false, float bgEliteRadius = _bgEliteRadius, float fgEliteRadius = _fgEliteRadius, float bgMinionRadius = _bgMinionRadius, float fgMinionRadius = _fgMinionRadius, IBrush bgBrush = null, IShapePainter bgShapePainter = null, bool bgPing = false, IRadiusTransformator bgRadiusTransformator = null, IBrush fgBrush = null, IShapePainter fgShapePainter = null, bool fgPing = false, IRadiusTransformator fgRadiusTransformator = null) { bgBrush = bgBrush ?? DefaultBackgroundBrush; fgBrush = fgBrush ?? DefaultForegroundBrush; bgShapePainter = bgShapePainter ?? DefaultMapShapePainter; fgShapePainter = fgShapePainter ?? DefaultMapShapePainter; eliteFont = eliteFont ?? DefaultEliteAffixesFont; minionFont = minionFont ?? DefaultMinionAffixesFont; if (bgPing) { bgRadiusTransformator = bgRadiusTransformator ?? DefaultRadiusTransformator; } else { bgRadiusTransformator = null; } if (fgPing) { fgRadiusTransformator = fgRadiusTransformator ?? DefaultRadiusTransformator; } else { fgRadiusTransformator = null; } var affixDef = new DangerousAffixMonsterDefinition(affix) { EliteDecorators = CreateDecorators(bgEliteRadius, fgEliteRadius, bgBrush, fgBrush, bgShapePainter, fgShapePainter, bgRadiusTransformator, fgRadiusTransformator), MinionDecorators = CreateDecorators(bgMinionRadius, fgMinionRadius, bgBrush, fgBrush, bgShapePainter, fgShapePainter, bgRadiusTransformator, fgRadiusTransformator), EliteLabelFont = eliteFont, MinionLabelFont = minionFont, ShowMinionDecorators = showMinionDecorators, ShowMinionAffixesNames = showMinionAffixesNames, AffixNameFunc = affixNameFunc, Priority = priority, }; affixDef.MinionDecorators.ToggleDecorators <MapShapeDecorator>(showMinionDecorators); affixDef.MinionDecorators.ToggleDecorators <MapLabelDecorator>(showMinionAffixesNames); Affixes[affix] = affixDef; return(affixDef); }
// TODO : refactor these monstruous signatures.. >< public DangerousAffixMonsterDefinition DefineDangerousAffix(MonsterAffix affix, string affixName, int priority = 0, IFont eliteFont = null, IFont minionFont = null, bool showMinionDecorators = false, bool showMinionAffixesNames = false, float bgEliteRadius = _bgEliteRadius, float fgEliteRadius = _fgEliteRadius, float bgMinionRadius = _bgMinionRadius, float fgMinionRadius = _fgMinionRadius, IBrush bgBrush = null, IShapePainter bgShapePainter = null, bool bgPing = false, IRadiusTransformator bgRadiusTransformator = null, IBrush fgBrush = null, IShapePainter fgShapePainter = null, bool fgPing = false, IRadiusTransformator fgRadiusTransformator = null) { AffixNameFunc affixNameFunc; if (affixName == null) { affixNameFunc = (a) => string.Empty; } else { affixNameFunc = (a) => affixName; } return(DefineDangerousAffix(affix, affixNameFunc, priority, eliteFont, minionFont, showMinionDecorators, showMinionAffixesNames, bgEliteRadius, fgEliteRadius, bgMinionRadius, fgMinionRadius, bgBrush, bgShapePainter, bgPing, bgRadiusTransformator, fgBrush, fgShapePainter, fgPing, fgRadiusTransformator)); }
public DangerousAffixMonsterDefinition(MonsterAffix affix) { Affix = affix; AffixNameFunc = (a) => string.Empty; }
private bool HasAffix(IMonster m, MonsterAffix afx) { return(m.AffixSnoList.Any(a => a.Affix == afx)); }
private float AfijosColores(MonsterAffix afijo, float coordx, float coordy) { ColorA = null; switch (afijo) { case MonsterAffix.Frozen: ColorA = AzulFFontA; break; case MonsterAffix.FrozenPulse: ColorA = Azul1; break; case MonsterAffix.Wormhole: ColorA = RojoFontA; break; case MonsterAffix.Illusionist: ColorA = VerdeCFontA; break; case MonsterAffix.Juggernaut: ColorA = JugFontA; break; case MonsterAffix.Waller: ColorA = MarronFontA; break; case MonsterAffix.Arcane: ColorA = MoradoFontA; break; case MonsterAffix.HealthLink: ColorA = AzulFontA; break; case MonsterAffix.Thunderstorm: ColorA = AmarilloFontA; break; case MonsterAffix.Shielding: ColorA = GrisFontA; break; case MonsterAffix.Desecrator: ColorA = Rosa1; break; case MonsterAffix.Molten: ColorA = Red1; break; case MonsterAffix.FireChains: ColorA = Red2; break; case MonsterAffix.Teleporter: ColorA = TeleportFontA; break; case MonsterAffix.Mortar: ColorA = GrisFontA; break; case MonsterAffix.Poison: ColorA = Verde2; break; case MonsterAffix.Plagued: ColorA = Verde1; break; case MonsterAffix.Horde: ColorA = HordaFontA; break; case MonsterAffix.Electrified: ColorA = Amarelo1; break; default: ColorA = LightFont; break; } var d = ColorA.GetTextLayout(DisplayAffix[afijo]); ColorA.DrawText(d, coordx, coordy); return(coordx + LightFont.GetTextLayout("-").Metrics.Width + d.Metrics.Width); }
public static void SetPriority(MonsterAffix affic, int priority) { AffixPriority[affic] = priority; }