public static void DrawPlayerDetils(AActor player, Vector2 screenSize, Color color) { Vector3 vecLocalPlayer = Main.cameraManager.CameraCache.POV.Location; Vector3 Headd = player.GetBoneLocation(6); Headd.Z += 30; Vector2 Headw2s = WorldToScreen(Headd, screenSize); Vector2 Center = WorldToScreen(player.GetBoneLocation(1), screenSize); Vector2 Root = WorldToScreen(player.GetBoneLocation(0), screenSize); float curDist = (Headd - vecLocalPlayer).Length(); float flWidth = Math.Abs((Root.Y - Headw2s.Y) / 4); Vector2 LeftUpperCorner = new Vector2((Center.X - flWidth), Headw2s.Y); Vector2 LeftDownCorner = new Vector2((Center.X - flWidth), Root.Y); Vector2 RightUpperCorner = new Vector2((Center.X + flWidth), Headw2s.Y); Vector2 RightDownCorner = new Vector2((Center.X + flWidth), Root.Y); float Height = Vector2.Distance(RightDownCorner, RightUpperCorner); int fontSize = ((int)Height) / 20; //Modules.LogService.Log(fontSize.ToString()); Vector2 feetScreenLocation = WorldToScreen(player.GetBoneLocation(0), screenSize); Vector2 headScreenLocation = WorldToScreen(Headd, screenSize); float xHeight = feetScreenLocation.Y - headScreenLocation.Y; float xWidth = xHeight / 2.5f; float x = Headw2s.X; float y = Headw2s.Y; float flX = x - 7 - Height / 4f; float flY = y - 1; DrawFactory.DrawText(player.PlayerName.ToString(), fontSize, new Vector2(Headw2s.X, Headw2s.Y - 5), color); DrawFactory.DrawText("[" + (int)curDist / 100 + "M]", 7, new Vector2(Root.X, Root.Y + 10), color); DrawHealthBar(Headw2s, xHeight, player.Health); }
public static void DrawItem(AActor item, Vector2 screenSize) { Vector2 location = WorldToScreen(item.RootComponent().RelativeLocation, screenSize); if (location.X > screenSize.X || location.Y > screenSize.Y) { return; } DrawFactory.DrawText(item.IsItem, 7, new Vector2(location.X, location.Y), Color.Red); }
public static void DrawVehicle(AActor Vehicle, Vector2 screenSize) { Vector2 location = WorldToScreen(Vehicle.RootComponent().RelativeLocation, screenSize); if (location.X > screenSize.X || location.Y > screenSize.Y) { return; } DrawFactory.DrawText(Vehicle.IsVehicle, 18, new Vector2(location.X, location.Y), Color.Red); }