public void AddDriveThru(Client sender, string name) { if (!sender.HasRank(ServerRank.AdministratorRozgrywki2)) { sender.SendWarning("Nie posiadasz uprawnień do dodawania DriveThru."); return; } sender.SendInfo("Ustaw się w wybranej pozycji, a następnie wpisz \"tu\" ctrl + alt + shift + d użyj /diag aby poznać swoją obecną pozycję."); Vector3 center = null; void Handler(Client o, string message) { if (center == null && o == sender && message == "tu") { center = o.Position; DriveThruModel data = new DriveThruModel { Position = o.Position, CreatorForumName = o.GetAccountEntity().DbModel.Name, }; XmlHelper.AddXmlObject(data, Path.Combine(Utils.XmlDirectory, "DriveThrus")); sender.SendInfo("Dodawanie DriveThru zakończyło się pomyślnie."); DriveThruEntity driveThru = new DriveThruEntity(data); driveThru.Spawn(); DriveThrus.Add(driveThru); } } }
public void DeleteDriveThru(Client sender) { if (!sender.HasRank(ServerRank.AdministratorRozgrywki2)) { sender.SendWarning("Nie posiadasz uprawnień do usuwania przystanku DriveThru."); return; } if (DriveThrus.Count == 0) { sender.SendWarning("Nie znaleziono DriveThru które można usunąć."); return; } DriveThruEntity driveThru = DriveThrus.OrderBy(d => d.Data.Position.DistanceTo2D(sender.Position)).First(); if (XmlHelper.TryDeleteXmlObject(driveThru.Data.FilePath)) { sender.SendInfo("Usuwanie DriveThru zakończyło się pomyślnie."); DriveThrus.Remove(driveThru); driveThru.Dispose(); } else { sender.SendError("Usuwanie DriveThru zakończyło się niepomyślnie."); } }
private void OnResourceStart() { foreach (DriveThruModel data in XmlHelper.GetXmlObjects <DriveThruModel>(Path.Combine(Utils.XmlDirectory, "DriveThrus"))) { DriveThruEntity driveThru = new DriveThruEntity(data); driveThru.Spawn(); DriveThrus.Add(driveThru); } }