public override void PaintWorld(WorldLayer layer) { var shrines = Hud.Game.Shrines.Where(x => x.DisplayOnOverlay && (x.Type != ShrineType.HealingWell) && (x.Type != ShrineType.PoolOfReflection)); foreach (var actor in shrines) { AllShrineDecorator.ToggleDecorators <GroundLabelDecorator>(!actor.IsOnScreen); // do not display ground labels when the actor is on the screen AllShrineDecorator.Paint(layer, actor, actor.FloorCoordinate, actor.SnoActor.NameLocalized); } var healingWells = Hud.Game.Shrines.Where(x => x.DisplayOnOverlay && (x.Type == ShrineType.HealingWell)); foreach (var actor in healingWells) { HealingWellDecorator.ToggleDecorators <GroundLabelDecorator>(!actor.IsOnScreen); // do not display ground labels when the actor is on the screen HealingWellDecorator.Paint(layer, actor, actor.FloorCoordinate, actor.SnoActor.NameLocalized); } var poolOfReflections = Hud.Game.Shrines.Where(x => x.DisplayOnOverlay && (x.Type == ShrineType.PoolOfReflection)); foreach (var actor in poolOfReflections) { PoolOfReflectionDecorator.ToggleDecorators <GroundLabelDecorator>(!actor.IsOnScreen); // do not display ground labels when the actor is on the screen PoolOfReflectionDecorator.Paint(layer, actor, actor.FloorCoordinate, actor.SnoActor.NameLocalized); } var riftPylonSpawnPoints = Hud.Game.Actors.Where(x => x.SnoActor.Sno == 428690); foreach (var actor in riftPylonSpawnPoints) { PossibleRiftPylonDecorator.Paint(layer, actor, actor.FloorCoordinate, "pylon?"); } }
public void PaintWorld(WorldLayer layer) { var shrines = Hud.Game.Shrines.Where(x => !x.IsDisabled && !x.IsOperated && x.DisplayOnOverlay && (x.Type != ShrineType.HealingWell) && (x.Type != ShrineType.PoolOfReflection)); foreach (var actor in shrines) { switch (actor.SnoActor.Sno) { case (ActorSnoEnum)225025: case (ActorSnoEnum)176074: BlessedShrineDecorator.Paint(layer, actor, actor.FloorCoordinate, actor.SnoActor.NameLocalized); if (EnableSpeak && (actor.LastSpeak == null) && Hud.Sound.LastSpeak.TimerTest(2000) && BlessedSpeak != "") { if (BlessedSpeak == "默认") { Hud.Sound.Speak(actor.SnoActor.NameLocalized); } else { Hud.Sound.Speak(BlessedSpeak); } actor.LastSpeak = Hud.Time.CreateAndStartWatch(); } break; case (ActorSnoEnum)225262: case (ActorSnoEnum)176075: EnlightenedShrineDecorator.Paint(layer, actor, actor.FloorCoordinate, actor.SnoActor.NameLocalized); if (EnableSpeak && (actor.LastSpeak == null) && Hud.Sound.LastSpeak.TimerTest(2000) && EnlightenedSpeak != "") { if (EnlightenedSpeak == "默认") { Hud.Sound.Speak(actor.SnoActor.NameLocalized); } else { Hud.Sound.Speak(EnlightenedSpeak); } actor.LastSpeak = Hud.Time.CreateAndStartWatch(); } break; case (ActorSnoEnum)225263: case (ActorSnoEnum)176076: FortuneShrineDecorator.Paint(layer, actor, actor.FloorCoordinate, actor.SnoActor.NameLocalized); if (EnableSpeak && (actor.LastSpeak == null) && Hud.Sound.LastSpeak.TimerTest(2000) && FortuneSpeak != "") { if (FortuneSpeak == "默认") { Hud.Sound.Speak(actor.SnoActor.NameLocalized); } else { Hud.Sound.Speak(FortuneSpeak); } actor.LastSpeak = Hud.Time.CreateAndStartWatch(); } break; case (ActorSnoEnum)225266: case (ActorSnoEnum)176077: FrenziedShrineDecorator.Paint(layer, actor, actor.FloorCoordinate, actor.SnoActor.NameLocalized); if (EnableSpeak && (actor.LastSpeak == null) && Hud.Sound.LastSpeak.TimerTest(2000) && FrenziedSpeak != "") { if (FrenziedSpeak == "默认") { Hud.Sound.Speak(actor.SnoActor.NameLocalized); } else { Hud.Sound.Speak(FrenziedSpeak); } actor.LastSpeak = Hud.Time.CreateAndStartWatch(); } break; case (ActorSnoEnum)260342: case (ActorSnoEnum)260346: FleetingShrineDecorator.Paint(layer, actor, actor.FloorCoordinate, actor.SnoActor.NameLocalized); if (EnableSpeak && (actor.LastSpeak == null) && Hud.Sound.LastSpeak.TimerTest(2000) && FleetingSpeak != "") { if (FleetingSpeak == "默认") { Hud.Sound.Speak(actor.SnoActor.NameLocalized); } else { Hud.Sound.Speak(FleetingSpeak); } actor.LastSpeak = Hud.Time.CreateAndStartWatch(); } break; case (ActorSnoEnum)260343: case (ActorSnoEnum)260347: EmpoweredShrineDecorator.Paint(layer, actor, actor.FloorCoordinate, actor.SnoActor.NameLocalized); if (EnableSpeak && (actor.LastSpeak == null) && Hud.Sound.LastSpeak.TimerTest(2000) && EmpoweredSpeak != "") { if (EmpoweredSpeak == "默认") { Hud.Sound.Speak(actor.SnoActor.NameLocalized); } else { Hud.Sound.Speak(EmpoweredSpeak); } actor.LastSpeak = Hud.Time.CreateAndStartWatch(); } break; case (ActorSnoEnum)434409: case (ActorSnoEnum)269349: BanditShrineDecorator.Paint(layer, actor, actor.FloorCoordinate, actor.SnoActor.NameLocalized); if (EnableSpeak && (actor.LastSpeak == null) && Hud.Sound.LastSpeak.TimerTest(2000) && BanditSpeak != "") { if (BanditSpeak == "默认") { Hud.Sound.Speak(actor.SnoActor.NameLocalized); } else { Hud.Sound.Speak(BanditSpeak); } actor.LastSpeak = Hud.Time.CreateAndStartWatch(); } break; case (ActorSnoEnum)330695: PowerPylonDecorator.Paint(layer, actor, actor.FloorCoordinate, actor.SnoActor.NameLocalized); if (EnableSpeak && (actor.LastSpeak == null) && Hud.Sound.LastSpeak.TimerTest(2000) && PowerSpeak != "") { if (PowerSpeak == "默认") { Hud.Sound.Speak(actor.SnoActor.NameLocalized); } else { Hud.Sound.Speak(PowerSpeak); } actor.LastSpeak = Hud.Time.CreateAndStartWatch(); } break; case (ActorSnoEnum)330696: case (ActorSnoEnum)398654: ConduitPylonDecorator.Paint(layer, actor, actor.FloorCoordinate, actor.SnoActor.NameLocalized); if (EnableSpeak && (actor.LastSpeak == null) && Hud.Sound.LastSpeak.TimerTest(2000) && ConduitSpeak != "") { if (ConduitSpeak == "默认") { Hud.Sound.Speak(actor.SnoActor.NameLocalized); } else { Hud.Sound.Speak(ConduitSpeak); } actor.LastSpeak = Hud.Time.CreateAndStartWatch(); } break; case (ActorSnoEnum)330697: ChannelingPylonDecorator.Paint(layer, actor, actor.FloorCoordinate, actor.SnoActor.NameLocalized); if (EnableSpeak && (actor.LastSpeak == null) && Hud.Sound.LastSpeak.TimerTest(2000) && ChannelingSpeak != "") { if (ChannelingSpeak == "默认") { Hud.Sound.Speak(actor.SnoActor.NameLocalized); } else { Hud.Sound.Speak(ChannelingSpeak); } actor.LastSpeak = Hud.Time.CreateAndStartWatch(); } break; case (ActorSnoEnum)330698: ShieldPylonDecorator.Paint(layer, actor, actor.FloorCoordinate, actor.SnoActor.NameLocalized); if (EnableSpeak && (actor.LastSpeak == null) && Hud.Sound.LastSpeak.TimerTest(2000) && ShieldSpeak != "") { if (ShieldSpeak == "默认") { Hud.Sound.Speak(actor.SnoActor.NameLocalized); } else { Hud.Sound.Speak(ShieldSpeak); } actor.LastSpeak = Hud.Time.CreateAndStartWatch(); } break; case (ActorSnoEnum)330699: SpeedPylonDecorator.Paint(layer, actor, actor.FloorCoordinate, actor.SnoActor.NameLocalized); if (EnableSpeak && (actor.LastSpeak == null) && Hud.Sound.LastSpeak.TimerTest(2000) && SpeedSpeak != "") { if (SpeedSpeak == "默认") { Hud.Sound.Speak(actor.SnoActor.NameLocalized); } else { Hud.Sound.Speak(SpeedSpeak); } actor.LastSpeak = Hud.Time.CreateAndStartWatch(); } break; } } var healingWells = Hud.Game.Shrines.Where(x => !x.IsDisabled && !x.IsOperated && x.DisplayOnOverlay && (x.Type == ShrineType.HealingWell)); foreach (var actor in healingWells) { HealingWellDecorator.ToggleDecorators <GroundLabelDecorator>(!actor.IsOnScreen); // do not display ground labels when the actor is on the screen HealingWellDecorator.Paint(layer, actor, actor.FloorCoordinate, actor.SnoActor.NameLocalized); if (EnableSpeak && (actor.LastSpeak == null) && Hud.Sound.LastSpeak.TimerTest(2000) && HealingSpeak != "") { if (HealingSpeak == "默认") { Hud.Sound.Speak(actor.SnoActor.NameLocalized); } else { Hud.Sound.Speak(HealingSpeak); } actor.LastSpeak = Hud.Time.CreateAndStartWatch(); } } var poolOfReflections = Hud.Game.Shrines.Where(x => !x.IsDisabled && !x.IsOperated && x.DisplayOnOverlay && (x.Type == ShrineType.PoolOfReflection)); foreach (var actor in poolOfReflections) { PoolOfReflectionDecorator.ToggleDecorators <GroundLabelDecorator>(!actor.IsOnScreen); // do not display ground labels when the actor is on the screen PoolOfReflectionDecorator.Paint(layer, actor, actor.FloorCoordinate, actor.SnoActor.NameLocalized); if (EnableSpeak && (actor.LastSpeak == null) && Hud.Sound.LastSpeak.TimerTest(2000) && PoolSpeak != "") { if (PoolSpeak == "默认") { Hud.Sound.Speak(actor.SnoActor.NameLocalized); } else { Hud.Sound.Speak(PoolSpeak); } actor.LastSpeak = Hud.Time.CreateAndStartWatch(); } } var riftPylonSpawnPoints = Hud.Game.Actors.Where(x => x.SnoActor.Sno == ActorSnoEnum._markerlocation_tieredriftpylon); foreach (var actor in riftPylonSpawnPoints) { PossibleRiftPylonDecorator.Paint(layer, actor, actor.FloorCoordinate, "??塔"); if (EnableSpeak && (actor.LastSpeak == null) && Hud.Sound.LastSpeak.TimerTest(2000) && PossibleRiftPylonSpeak != "") { Hud.Sound.Speak(PossibleRiftPylonSpeak); actor.LastSpeak = Hud.Time.CreateAndStartWatch(); } } }