Отвязываем параметры плагина от его имени

Больше
8 года 3 мес. назад #102289 от KageDesu
Проблема: PluginManager.parameters() - возвращает параметры по имени файла плагина, что не всегда удобно.
Если вы пользуетесь этим методом, то переименовав ваш файл плагина, игра не найдёт его параметры.

Решение:
1. Создаём в плагине параметр, который точно характерезует наш плагин:
(пример)
Code:
* @param MY_Awesome_plugin * @text Тут можно что-нибудь написать

2. Копируем данный код в плагин:
Code:
PluginManager.parametersByPluginSymbol = function (a) { for (var b in this._parameters) if (this._parameters.hasOwnProperty(b)) { var c = this._parameters[b]; if (void 0 !== c[a]) return c; } return PluginManager.parameters(a); };

3. Используем новый метод PluginManager.parametersByPluginSymbol(someParameterOrName : String), передавая наш параметр из шага 1.
(если параметр не найден, то будет поиск по имени файла, так что метод универсален)
Code:
var parameters = PluginManager.parameters("MY_Awesome_plugin");

Итог: Мы уверены, что если пользователь по какой-либо причине переименует файл, плагин всё равно найдёт свои параметры. Мы можем сами называть плагин как нам удобно (номер версии или сборки дописывать). И даже можем параметры в другом плагине хранить :)
Спасибо сказали: Dmy, Lekste, DK, Mur

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Даритель Стимкея Учитель Организатор конкурсов 2 место Программист JavaScript Оратор
Больше
8 года 3 мес. назад #102290 от Mur
Идея интересная, надо будет попробовать.
Спасибо сказали: KageDesu

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Организатор конкурсов Даритель Стимкея 2 место Сбитая кодировка Переводчик 2 место
Больше
8 года 3 мес. назад #102320 от strelokhalfer
Идея занятная, но по факту, зачем перенагружать? Если человек переименовал скрипт, то это его проблемы

"Стрелок, что-то ты неочень похож на свой аватар..."(с)
Спасибо сказали: Lekste, DK, Doctor_Bug

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.090 секунд
Работает на Kunena форум