public override void Draw(RenderTarget Target, Transform Transform) { Transform.Translate(Position); _UnitConfigurationView.Draw(Target, Transform); if (_DisplayCount) { _Text.Draw(Target, Transform); } }
public override void Draw(RenderTarget Target, Transform Transform) { Transform.Translate(Position); _UnitConfigurationView.Flipped = (Unit.Status == UnitStatus.DAMAGED || Unit.Status == UnitStatus.DISRUPTED) && Reactive; _UnitConfigurationView.Draw(Target, Transform); if (Reactive) { Transform.Scale(_UnitConfigurationView.Scale, _UnitConfigurationView.Scale); var r = new RenderStates(Transform); if (Unit.Moved || Unit.Fired || Unit.Interactions.Any(i => i.Master == Unit)) { Transform.Scale(1 / 64f, 1 / 64f); } if (Unit.Interactions.Any(i => i.IsWork && i.Master == Unit)) { WORKING_DISPLAY.Draw(Target, Transform); } else if (Unit.Moved && !Unit.Fired && Unit.RemainingMovement > 0) { MOVING_DISPLAY.Draw(Target, Transform); } else if (Unit.Moved && !Unit.Fired) { MOVED_DISPLAY.Draw(Target, Transform); } else if (Unit.Fired) { FIRED_DISPLAY.Draw(Target, Transform); } } }