🚀 За последние дни моя продуктивность выросла и сделал довольно много всего.
💻 Прошёл всего один день, с того момента, как сделал скачивание обновлений, а уже готово первоначальное скачивание файлов при самом первом запуске лаунчера.
🔄 Т.е. можно сказать, что реализованная полноценная логика скачивания мода и дальнейшее его обновление.
💿 Для того, чтобы реализовать первичную загрузку пришлось создать отдельный файл "*.conf", при запуске лаунчер производит его поиск, если его нет, то вместо кнопки "Играть" отображается кнопка "Загрузить" при нажатии на нее срабатывает FolderBrowserDialog, с помощью которого можно выбрать путь куда будет установлена игра. 📂 Далее я качаю весь репозиторий в виде архива, так как ссылка на него постоянная, что важно. 🗂
💬 Одновременно выводится информация о процессе загрузки. Скачав архив я использую класс ZipFile, чтобы разархивировать его. 🗜️ Вот и все мод у вас установлен. 🎉
💻 Прошёл всего один день, с того момента, как сделал скачивание обновлений, а уже готово первоначальное скачивание файлов при самом первом запуске лаунчера.
🔄 Т.е. можно сказать, что реализованная полноценная логика скачивания мода и дальнейшее его обновление.
💿 Для того, чтобы реализовать первичную загрузку пришлось создать отдельный файл "*.conf", при запуске лаунчер производит его поиск, если его нет, то вместо кнопки "Играть" отображается кнопка "Загрузить" при нажатии на нее срабатывает FolderBrowserDialog, с помощью которого можно выбрать путь куда будет установлена игра. 📂 Далее я качаю весь репозиторий в виде архива, так как ссылка на него постоянная, что важно. 🗂
💬 Одновременно выводится информация о процессе загрузки. Скачав архив я использую класс ZipFile, чтобы разархивировать его. 🗜️ Вот и все мод у вас установлен. 🎉
👾9
This media is not supported in your browser
VIEW IN TELEGRAM
⚙️ Ещё небольшое обновление, при скачивание обновлений, как бы забавно ни звучало.
™️ Теперь пока ждёте загрузку отображаются имена тех файлов, которые скачиваются.
📂 Ещё заметил, что обновления качаются немного не в ту подпапку, хорошо что фиксится это легко.
™️ Теперь пока ждёте загрузку отображаются имена тех файлов, которые скачиваются.
📂 Ещё заметил, что обновления качаются немного не в ту подпапку, хорошо что фиксится это легко.
👾7
📱 Вспомнил тут про свое приложение, которые выкладывал в RuStore больше года назад.
📉 И как-то статистика не очень, всего 24 установки, думал будет побольше.
🛠️ Но ладно, все таки это было мое первое приложение подобного плана и выложил ради теста.
🐞 Также хотел сегодня исправить пару багов в лаунчере, но решил, 🧠 что и так был экзамен, который я успешно сдал, поэтому сегодня у меня выходной, ждите новостей завтра.
📉 И как-то статистика не очень, всего 24 установки, думал будет побольше.
🛠️ Но ладно, все таки это было мое первое приложение подобного плана и выложил ради теста.
🐞 Также хотел сегодня исправить пару багов в лаунчере, но решил, 🧠 что и так был экзамен, который я успешно сдал, поэтому сегодня у меня выходной, ждите новостей завтра.
❤🔥7
✅ Ошибка с загрузкой обновлений не в ту папку успешно решена.
🔤 Также создал несколько переменных для хранения часто используемых директорий.
🫣 Не обращайте внимание на некоторые названия, пока тестовый репозиторий используем.
🔤 Также создал несколько переменных для хранения часто используемых директорий.
🫣 Не обращайте внимание на некоторые названия, пока тестовый репозиторий используем.
👾6
🎉 Ура, это что 30 подписчиков❗
♥️ Спасибо вам, за такую круглую цифру, надеюсь будем расти и дальше. 🚀
#LvlUp
♥️ Спасибо вам, за такую круглую цифру, надеюсь будем расти и дальше. 🚀
#LvlUp
❤🔥9👍2 2
Я тут немного поработал над оптимизацией кода.
💻 Применил паттерн "Наблюдатель"!
Раньше в классе GitClient для методов скачивания я передавал экземпляры окон в качестве аргументов. Как мне казалось это костыльное решение. 🤔
Теперь я создал несколько Action-делегатов.
🔍 В каждой странице я могу подписаться на эти Action-делегаты и обновлять UI в нужных местах, без необходимости передавать экземпляр страницы в качестве аргумента. 👌
Вот список Action-делегатов, которые я добавил:
//Вызывается во время загрузки, чтобы обновлять информацию о прогрессе.
✅ LoadProcess;
//Вызывается в начале загрузки.
✅ LoadStart;
//Вызывается после завершения загрузки, чтобы скрыть элементы интерфейса.
✅ LoadCompleted;
//Вызывается, чтобы показать/получить информацию об обновлении.
✅ ShowingUpdate;
//Вызывается во время загрузки обновления, чтобы обновлять информацию о прогрессе.
✅ UpdateProcess;
🚀 Теперь каждая страница подписывается на нужные ей события и обновляет необходимый UI.
💻 Применил паттерн "Наблюдатель"!
Раньше в классе GitClient для методов скачивания я передавал экземпляры окон в качестве аргументов. Как мне казалось это костыльное решение. 🤔
Теперь я создал несколько Action-делегатов.
🔍 В каждой странице я могу подписаться на эти Action-делегаты и обновлять UI в нужных местах, без необходимости передавать экземпляр страницы в качестве аргумента. 👌
Вот список Action-делегатов, которые я добавил:
//Вызывается во время загрузки, чтобы обновлять информацию о прогрессе.
✅ LoadProcess;
//Вызывается в начале загрузки.
✅ LoadStart;
//Вызывается после завершения загрузки, чтобы скрыть элементы интерфейса.
✅ LoadCompleted;
//Вызывается, чтобы показать/получить информацию об обновлении.
✅ ShowingUpdate;
//Вызывается во время загрузки обновления, чтобы обновлять информацию о прогрессе.
✅ UpdateProcess;
🚀 Теперь каждая страница подписывается на нужные ей события и обновляет необходимый UI.
❤🔥6 3
🚀 Было решено официально переименовать модификацию в
—XTREME TERREX—
🏎️ Новость об этом уже выходила на канале моего друга:
https://t.me/Lg_corner/785
🖥️ И так как это произошло, то и лаунчер которым я сейчас занимаюсь понёс свои изменения.
✍️ Это смена названия на "Xtreme Launcher", что было уже сделано давно.
🖼️ А сейчас мы изменяем фон лаунчера.
🎥 Изначально хотели поставить видеоролик на фон.
🥴 Но потом протестировав я понял что это плохая идея и предложил вставить статичную картинку + анимированный текст.
✒️ Сейчас есть 4 вариации для анимации названия.
🤔 Но пока определяемся что же из этого выбрать.
👨💻 Ещё помаленьку рефакторю код.
🎨 Плюс надо новые темы доделать, с чем мне возможно частично поможет недавно вышедшая Gpt4o.
🥱 А то если честно у меня уже закончились идеи для тем, да и подбирать цвета для каждого элемента это долга)
—XTREME TERREX—
🏎️ Новость об этом уже выходила на канале моего друга:
https://t.me/Lg_corner/785
🖥️ И так как это произошло, то и лаунчер которым я сейчас занимаюсь понёс свои изменения.
✍️ Это смена названия на "Xtreme Launcher", что было уже сделано давно.
🖼️ А сейчас мы изменяем фон лаунчера.
🎥 Изначально хотели поставить видеоролик на фон.
🥴 Но потом протестировав я понял что это плохая идея и предложил вставить статичную картинку + анимированный текст.
✒️ Сейчас есть 4 вариации для анимации названия.
🤔 Но пока определяемся что же из этого выбрать.
👨💻 Ещё помаленьку рефакторю код.
🎨 Плюс надо новые темы доделать, с чем мне возможно частично поможет недавно вышедшая Gpt4o.
🥱 А то если честно у меня уже закончились идеи для тем, да и подбирать цвета для каждого элемента это долга)
👋 Добрый вечер.
🤔 Так как мы все же не можем определиться с тем какой вариант оставить.
🤝 То я с моим хорошим другом
@Lg_corner проводим голосование на то какой вариант анимированного текста оставить в лаунчере.
👇Ниже будет два варианта.
❤️ Выбирайте тот, который вам больше нравится и тот который по вашему мнению лучше вписывается в интерфейс.
❗ Срок окончания голосования:
1 Июня 10:00 по МСК.
🤔 Так как мы все же не можем определиться с тем какой вариант оставить.
🤝 То я с моим хорошим другом
@Lg_corner проводим голосование на то какой вариант анимированного текста оставить в лаунчере.
👇Ниже будет два варианта.
❤️ Выбирайте тот, который вам больше нравится и тот который по вашему мнению лучше вписывается в интерфейс.
❗ Срок окончания голосования:
1 Июня 10:00 по МСК.
😓 Все еще не смог реализовать адекватно функцию остановки/продолжения загрузки.
👨🏻💻 Поэтому активно занимаюсь рефакторингом кода.
😱 В результате из одного класса у меня получилось: 2 отдельных класса GitClient - получает инфу из гитхаба,
FileLoader - непосредственно качает файлы.
И две структуры:
UpdateFileInfo - содержит информацию о файлах, которые необходимо скачать (имя, путь, ссылка и т.д.)
LoadInfo - хранит информацию о текущей загрузке (скачанный объем, проценты и т.д.).
P.S.
🦾 Надо оставить силы на выходной поэтому 🤫 пошел играть в Outlast.
👨🏻💻 Поэтому активно занимаюсь рефакторингом кода.
😱 В результате из одного класса у меня получилось: 2 отдельных класса GitClient - получает инфу из гитхаба,
FileLoader - непосредственно качает файлы.
И две структуры:
UpdateFileInfo - содержит информацию о файлах, которые необходимо скачать (имя, путь, ссылка и т.д.)
LoadInfo - хранит информацию о текущей загрузке (скачанный объем, проценты и т.д.).
P.S.
🦾 Надо оставить силы на выходной поэтому 🤫 пошел играть в Outlast.