public static async void TdSelTest(BasePlayer player) { _td1?.Dispose(); _td2?.Dispose(); _td1 = new TextDraw(new Vector2(220, 120), "E") { Selectable = true, UseBox = true, BackColor = Color.Green, BoxColor = Color.Blue, Alignment = TextDrawAlignment.Right, IsApplyFixes = true, Proportional = true, Shadow = 3, Font = TextDrawFont.Pricedown, Outline = 2, ForeColor = Color.White, Width = 400f, Height = 400f }; _td2 = new PlayerTextDraw(player, new Vector2(220, 180), "Q") { Selectable = true, UseBox = true, BackColor = Color.Green, BoxColor = Color.Blue, Alignment = TextDrawAlignment.Right, IsApplyFixes = true, Proportional = true, Shadow = 3, Font = TextDrawFont.Pricedown, Outline = 2, ForeColor = Color.White, Width = 400f, Height = 400f }; _td1.Show(player); _td2.Show(); await Task.Delay(5); player.SelectTextDraw(Color.Red); player.ClickTextDraw += (sender, args) => { player.SendClientMessage($"Selected TD: {_td1 == args.TextDraw}"); }; player.ClickPlayerTextDraw += (sender, args) => { player.SendClientMessage($"Selected PTD: {_td2 == args.PlayerTextDraw}"); }; player.CancelClickTextDraw += (sender, args) => { player.SendClientMessage("Canceled TD selection"); }; }
public void CreateTextDraw() { THealth = new PlayerTextDraw(this); TArmour = new PlayerTextDraw(this); Stats = new PlayerTextDraw(this); TdRank = new PlayerTextDraw(this); TextDrawPlayer.CreateTDHealth(THealth); TextDrawPlayer.CreateTDArmour(TArmour); TextDrawPlayer.CreateTDStats(Stats); TextDrawPlayer.CreateTDRank(TdRank); }
internal bool OnPlayerClickPlayerTextDraw(int playerid, int playertextid) { GtaPlayer player = GtaPlayer.FindOrCreate(playerid); OnPlayerClickPlayerTextDraw(player, new ClickPlayerTextDrawEventArgs(player, playertextid == PlayerTextDraw.InvalidId ? null : PlayerTextDraw.FindOrCreate(player, playertextid))); return(true); }
/// <summary> /// Registers the events this PlayerTextDrawController wants to listen to. /// </summary> /// <param name="gameMode">The running GameMode.</param> public virtual void RegisterEvents(BaseMode gameMode) { gameMode.PlayerClickPlayerTextDraw += (sender, args) => args.PlayerTextDraw?.OnClick(args); gameMode.PlayerCleanup += (sender, args) => { var player = sender as BasePlayer; foreach (var textdraw in PlayerTextDraw.Of(player).ToArray()) { textdraw.Dispose(); } }; }
public static void CreateTDRank(PlayerTextDraw rank) { rank.Position = new Vector2(607.000000, 402.000000); rank.Text = "Noob"; rank.Font = TextDrawFont.Normal; rank.LetterSize = new Vector2(0.337500, 1.249999); rank.Outline = 1; rank.Alignment = TextDrawAlignment.Right; rank.ForeColor = -1; rank.BackColor = 255; rank.Proportional = true; }
public static void CreateTDStats(PlayerTextDraw stats) { stats.Position = new Vector2(638.000000, 433.000000); stats.Text = ""; stats.Font = TextDrawFont.Slim; stats.LetterSize = new Vector2(0.279166, 1.350000); stats.Outline = 1; stats.Alignment = TextDrawAlignment.Right; stats.ForeColor = -1; stats.BackColor = 255; stats.Proportional = true; }
public static void CreateTDArmour(PlayerTextDraw armour) { armour.Position = new Vector2(578.000000, 44.000000); armour.Text = "0"; armour.Font = TextDrawFont.Slim; armour.LetterSize = new Vector2(0.241666, 0.899999); armour.Outline = 1; armour.Alignment = TextDrawAlignment.Center; armour.ForeColor = -1; armour.BackColor = 255; armour.Proportional = true; }
public static void CreateTDHealth(PlayerTextDraw health) { health.Position = new Vector2(578.000000, 66.000000); health.Text = "100"; health.Font = TextDrawFont.Slim; health.LetterSize = new Vector2(0.241666, 0.899999); health.Outline = 1; health.Alignment = TextDrawAlignment.Center; health.ForeColor = -1; health.BackColor = 255; health.Proportional = true; }
internal bool OnPlayerClickPlayerTextDraw(int playerid, int playertextid) { var player = BasePlayer.FindOrCreate(playerid); var clicked = playertextid == PlayerTextDraw.InvalidId ? null : PlayerTextDraw.Find(player, playertextid); if (playertextid != TextDraw.InvalidId && clicked == null) { return(true); } OnPlayerClickPlayerTextDraw(player, new ClickPlayerTextDrawEventArgs(player, clicked)); return(true); }
/// <inheritdoc /> public static bool PlayerTextDrawSetPosition(BasePlayer player, PlayerTextDraw textdraw, Vector2 position) { if (player == null) { throw new ArgumentNullException(nameof(player)); } if (textdraw == null) { throw new ArgumentNullException(nameof(textdraw)); } var success = Internal.PlayerTextDrawSetPosition(player.Id, textdraw.Id, position.X, position.Y); return(success); }
/// <inheritdoc /> public bool PlayerTextDrawSetPosition(EntityId player, PlayerTextDraw textdraw, Vector2 position) { if (!player.IsOfType(SampEntities.PlayerType)) { throw new InvalidEntityArgumentException(nameof(player), SampEntities.PlayerType); } int id = textdraw.Entity / SampLimits.MaxPlayers; if (id == NativePlayerTextDraw.InvalidId) { throw new EntityCreationException(); } var success = _native.PlayerTextDrawSetPosition(player, id, position.X, position.Y); return(success); }
/// <summary> /// Registers the events this PlayerTextDrawController wants to listen to. /// </summary> /// <param name="gameMode">The running GameMode.</param> public void RegisterEvents(BaseMode gameMode) { gameMode.PlayerClickPlayerTextDraw += (sender, args) => { PlayerTextDraw textdraw = args.PlayerTextDraw; if (textdraw != null) { textdraw.OnClick(args); } }; gameMode.PlayerCleanup += (sender, args) => { var player = sender as GtaPlayer; foreach (var textdraw in PlayerTextDraw.All.Where(o => o.Owner == player)) { textdraw.Dispose(); } }; }
public static void SetPosition(this PlayerTextDraw playerTextDraw, Vector2 position) { YSF.Internal.PlayerTextDrawSetPos(playerTextDraw.Owner.Id, playerTextDraw.Id, position.X, position.Y); }
/// <summary> /// Registers types this PlayerTextDrawController requires the system to use. /// </summary> public virtual void RegisterTypes() { PlayerTextDraw.Register <PlayerTextDraw>(); }
public void HealthBar(PlayerTextDraw bar, float value) { bar.Text = $"{value:F0}"; bar.Show(); }
/// <summary> /// Initializes a new instance of the ClickPlayerTextDrawEventArgs class. /// </summary> /// <param name="player">The player.</param> /// <param name="playerTextDraw">The player text draw.</param> public ClickPlayerTextDrawEventArgs(GtaPlayer player, PlayerTextDraw playerTextDraw) { Player = player; PlayerTextDraw = playerTextDraw; }
/// <summary> /// Initializes a new instance of the ClickPlayerTextDrawEventArgs class. /// </summary> /// <param name="player">The player.</param> /// <param name="playerTextDraw">The player text draw.</param> public ClickPlayerTextDrawEventArgs(BasePlayer player, PlayerTextDraw playerTextDraw) { Player = player; PlayerTextDraw = playerTextDraw; }