public override void Draw(RenderTarget Target, Transform Transform)
 {
     Transform.Translate(Position);
     _UnitConfigurationView.Draw(Target, Transform);
     if (_DisplayCount)
     {
         _Text.Draw(Target, Transform);
     }
 }
Example #2
0
        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);
                }
            }
        }