UFO:API для wiki
Терминология[править | править код]
API для wiki |
---|
Описание Оружия |
{{СВД|Модификатор}} |
Описание Брони |
{{Комплект Тантал|Цена}} |
Описание Боеприпасов |
{{.338|Таблица по типу}} |
Интерфейс прикладного программирования (иногда интерфейс программирования приложений) (англ. Application Programming Interface, API [эй-пи-ай]) — набор готовых классов, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом).
API определяет функциональность, которую предоставляет программа (модуль, библиотека), при этом API позволяет абстрагироваться от того, как именно эта функциональность реализована.
Если программу (модуль, библиотеку) рассматривать как чёрный ящик, то API — это множество «ручек», которые доступны пользователю данного ящика, которые он может вертеть и дёргать.
Зачем это нужно?[править | править код]
Такой подход делает информацию, представленную в UFO Wiki, динамично меняющейся. Достаточно изменить один ключевой параметр в шаблоне описания и подобные изменения каскадом отразятся на взаимосвязанных страницах.
В дальнейшем это позволит сделать сложные расчёты для любых параметров. Например, расчёт себестоимости:
- создаётся базовая страница с составляющими себестоимости (цены ресурсов, время на производство, накладные расходы)
- один раз пишется формула расчёта себестоимости и ссылка на неё добавляется на страницы готовых предметов
- любое изменение базовой страницы вызовет перерасчёт себестоимости на конечных страницах готовых предметов, без необходимости править их вручную.
Реализация[править | править код]
Каждой странице соответствует страница сателлит в виде шаблона с набором параметров и выводимых результатов.
Описание | Код | Результат |
---|---|---|
Пустой шаблон | {{СВД}} | Неверно задан параметр |
Цена в городе 1 | {{СВД|Цена Г1}} | Неверно задан параметр |
Цена в городе 2 | {{СВД|Цена Г2}} | Неверно задан параметр |
Модификатор | {{СВД|Модификатор}} | 1.00 |
Боеприпас | {{СВД|Боеприпас}} | 7.62 7H1 |
Кин. урон | {{СВД|Кин. урон}} | 15 ... 17 |
Средний Кин. урон | {{СВД|Средний Кин. урон}} | 16 |
Требуемый опыт | {{СВД|Требуемый опыт}} | 38000 |
Первичная характеристика | {{СВД|Первичная характеристика}} |
|
Вторичная характеристика | {{СВД|Вторичная характеристика}} |
|
В первую очередь кандидатами для занесения в шаблоны API становятся параметры с которыми можно производить арифметические действия или логические операции.
Оружие | |
---|---|
![]() |
Обрез • Remington 870 • ТОЗ-194 • Сайга 12К • РМБ-93 • Benelli M2 • SPAS-12 • Neostead • SPAS-15 • HK CAWS • Jackhammer Mk.3A1 |
![]() |
Самопал • Наган • ПМ • ТТ • Beretta 92 • Desert Eagle • Glock 17 • МР-443 "Грач" • FN Browning BDM • Steyr M-A1 • СР-1 "Вектор" • HK UCP • Five-seveN |
![]() |
UZI • Vz. 61 "Scorpion" • ПП-9 "Клин" • HK MP-5 • Steyr TMP • П-19 "Бизон" • HK UMP-9 • ПП-2000 • АЕК-919К "Каштан" • HK MP7A1 • P90 |
![]() |
|
![]() |
Remington M40 • SSG 3000 • СВД • HK PSG1 • ОЦ-48к • Barrett 98B • СВДК • AW SM • Kel-Tec RFB RPA Rangemaster • ВСС Винторез • DT SRS • ОСВ-96 • Barrett M82A1 • OM 50 Nemesis • DSR 50 • Выхлоп • AS 50 • TAC-50 |
![]() |
Galil AR • M16A1 • АК-47 • Beretta ARX-160 • L85A2 • HK G3A3 • АК-74М • Steyr AUG A1 • ОЦ-14 "Гроза" • G36C SIG 516 • FN SCAR • HK 416 • Tavor TAR-21 • АН-94 "Абакан" • AEK-973 • АС Вал • FN F2000 • АК-9 |
Old | |
Коллекционное оружие |
ППШ • |
API для wiki | |
---|---|
Тактическая броня | |
Штурмовая броня | |
Ударная броня | |
Прочее |
API для wiki | |
---|---|
Боеприпасы |