コード例 #1
0
        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);
                }
            }
        }
コード例 #2
0
        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.");
            }
        }
コード例 #3
0
 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);
     }
 }