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); }
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(); }