public void UpdateJumpPad(JumpPad update) { var query = string.Format( "UPDATE JumpPads SET PosX = {0}, PosY = {1}, Jump = {2}, Launch = {3}, Width = {4}, Height = {5}, Permission = @0 WHERE ID = @1", update.posx, update.posy, update.jump, update.launch, update.width, update.height); Query(query, update.permission, update.Id); }
public int AddJumpPad(JumpPad copy) { Query("INSERT INTO JumpPads (PosX, PosY, Jump, Launch, Width, Height, Permission) VALUES (@0, @1, @2, @3, @4, @5, @6)", copy.posx, copy.posy, copy.jump, copy.launch, copy.width, copy.height, copy.permission); using (var reader = QueryReader("SELECT max(ID) FROM JumpPads")) { if (reader.Read()) { var id = reader.Get <int>("max(ID)"); return(id); } } return(-1); }
public void LoadJumpPads(ref List <JumpPad> list) { using (var reader = QueryReader("SELECT * FROM JumpPads")) { while (reader.Read()) { var id = reader.Get <int>("ID"); var x = reader.Get <float>("PosX"); var y = reader.Get <float>("PosY"); var jump = reader.Get <float>("Jump"); var launch = reader.Get <float>("Launch"); var width = reader.Get <int>("Width"); var height = reader.Get <int>("Height"); var permission = reader.Get <string>("Permission"); var jumpPad = new JumpPad(x, y, jump, launch, width, height, permission) { Id = id }; list.Add(jumpPad); } } }
private void AddJumpPad(CommandArgs args) { if (args.Parameters.Count == 1) { if (args.Parameters[0].ToLowerInvariant() == "reload" && args.Player.Group.HasPermission("jumppads.reload")) { _jumpPads.Clear(); db.LoadJumpPads(ref _jumpPads); args.Player.SendSuccessMessage("JumpPads have been reloaded."); return; } if (args.Parameters[0].ToLowerInvariant() == "disable") { _disable[args.Player.Index] = true; args.Player.SendSuccessMessage("JumpPads will no longer effect you."); return; } if (args.Parameters[0].ToLowerInvariant() == "enable") { _disable[args.Player.Index] = false; args.Player.SendSuccessMessage("JumpPads will now effect you."); return; } if ((args.Parameters[0].ToLowerInvariant() == "d" || args.Parameters[0].ToLowerInvariant() == "delete") && args.Player.Group.HasPermission("jumppads.delete")) { if (_jumpPads.Count == 0) { args.Player.SendErrorMessage("No jumppads have been defined."); return; } var index = -1; for (var i = 0; i < _jumpPads.Count; i++) { if (_jumpPads[i].InArea(args.Player)) { index = i; break; } } if (index == -1) { args.Player.SendErrorMessage("Failed to find a jumppad underneath you."); return; } var jp = _jumpPads[index]; _jumpPads.RemoveAt(index); db.DeleteJumpPad(jp.Id); jp.UnwriteWire(); args.Player.SendSuccessMessage("Deleted the jumppad underneath you."); return; } } if (args.Parameters.Count < 2) { args.Player.SendErrorMessage("Invalid syntax. {0}jumppad [width|height|jump|launch|permission] [value]", TShock.Config.CommandSpecifier); return; } var newJumpPad = false; var makeWire = true; var jumpPad = _jumpPads.FirstOrDefault(j => j.CanJump(args.Player)); if (jumpPad == null) { jumpPad = new JumpPad(args.Player.TileX, args.Player.TileY, 0f, 0f, 3, 1, string.Empty); newJumpPad = true; } if (args.Parameters.Last().ToLowerInvariant() == "-nowire") { makeWire = false; } switch (args.Parameters[0].ToLowerInvariant()) { case "width": case "w": { int width; if (!int.TryParse(args.Parameters[1], out width)) { args.Player.SendErrorMessage("Invalid width."); return; } if (makeWire) { jumpPad.ReWriteWire(width, -1); } args.Player.SendSuccessMessage("JumpPad on your position is now {0} blocks wide.", width); break; } case "height": case "h": { int height; if (!int.TryParse(args.Parameters[1], out height)) { args.Player.SendErrorMessage("Invalid height."); return; } if (makeWire) { jumpPad.ReWriteWire(-1, height); } args.Player.SendSuccessMessage("JumpPad on your position is now {0} blocks high.", height); break; } case "jump": case "j": { float jump; if (!float.TryParse(args.Parameters[1], out jump)) { args.Player.SendErrorMessage("Invalid jump height."); return; } jumpPad.jump = -jump; args.Player.SendSuccessMessage("JumpPad on your position now has a jump power of {0}.", jump); break; } case "launch": case "l": { float launch; if (!float.TryParse(args.Parameters[1], out launch)) { args.Player.SendErrorMessage("Invalid launch power."); return; } jumpPad.launch = launch; args.Player.SendSuccessMessage("JumpPad on your position now has a launch power of {0}.", launch); break; } case "permission": case "perm": case "p": { var permission = args.Parameters[1].ToLowerInvariant(); jumpPad.permission = permission; args.Player.SendSuccessMessage("JumpPad on your position now requires the permission '{0}'.", permission); break; } default: { args.Player.SendErrorMessage("Invalid syntax. {0}jumppad [width|height|jump|permission] [value]", TShock.Config.CommandSpecifier); break; } } if (newJumpPad) { jumpPad.Id = db.AddJumpPad(jumpPad); _jumpPads.Add(jumpPad); if (makeWire) { jumpPad.WriteWire(); } } else { db.UpdateJumpPad(jumpPad); } }