Пример #1
0
 public void DrawCircle()
 {
     _circle = new Render.Circle(WardObject.Position, 100, Color, 5, true);
     _circle.VisibleCondition += sender => WardDetector.IsActive() && Render.OnScreen(Drawing.WorldToScreen(WardObject.Position));
     _circle.Add(0);
     if (Type != WardType.Trap)
     {
         _minimapSprite = new Render.Sprite(Bitmap, MinimapPosition)
         {
             Scale = new Vector2(Scale, Scale)
         };
         _minimapSprite.Add(0);
     }
     if (Duration == int.MaxValue)
     {
         return;
     }
     _timerText = new Render.Text(10, 10, "t", 18, new ColorBGRA(255, 255, 255, 255))
     {
         OutLined       = true,
         PositionUpdate = () => Drawing.WorldToScreen(WardObject.Position),
         Centered       = true
     };
     _timerText.VisibleCondition +=
         sender => WardDetector.IsActive() && Render.OnScreen(Drawing.WorldToScreen(WardObject.Position));
     _timerText.TextUpdate = () => Utils.FormatTime((EndTime - Environment.TickCount) / 1000f);
     _timerText.Add(2);
 }
Пример #2
0
        public Ward(string skinName, int startTime, Obj_AI_Base objAiBase, WardDetector wardDetector)
        {
            _wardDetector = wardDetector;
            int      duration;
            WardType type;

            GetWarInfo(skinName, out duration, out type);
            SkinName  = skinName;
            StartTime = startTime;
            Duration  = duration;
            EndTime   = StartTime + Duration;
            Type      = type;
            ObjAiBase = objAiBase;
            switch (Type)
            {
            case WardType.Green:
                Color = Color.Lime;
                break;

            case WardType.Pink:
                Color = Color.Magenta;
                break;

            default:
                Color = Color.Red;
                break;
            }
            DrawCircle();
        }