{ "version": "https:\/\/jsonfeed.org\/version\/1", "title": "#mopsicus: заметки с тегом git", "_rss_description": "об играх, разработке на Unity и личном опыте", "_rss_language": "ru", "_itunes_email": "", "_itunes_categories_xml": "", "_itunes_image": "", "_itunes_explicit": "", "home_page_url": "https:\/\/mopsicus.ru\/tags\/git\/", "feed_url": "https:\/\/mopsicus.ru\/tags\/git\/json\/", "icon": "https:\/\/mopsicus.ru\/user\/userpic@2x.jpg?1707898340", "author": { "name": "Игорь Лопатин", "url": "https:\/\/mopsicus.ru\/", "avatar": "https:\/\/mopsicus.ru\/user\/userpic@2x.jpg?1707898340" }, "items": [ { "id": "270", "url": "https:\/\/mopsicus.ru\/all\/fsm-for-csharp\/", "title": "FSM для C#", "content_html": "
Доделал пакет для Shardy<\/a>: реализацию машины состояний (finite state machine). Все стейты и триггеры добавляются через билдер, цепочкой.<\/p>\n Для перехода на стейт надо активировать триггер(ы):<\/p>\n В таком случае получится такой результат:<\/p>\n initial is standing Ещё подсмотрел, как сгенерить описание для UML диаграммы и отрендерить её на сайте<\/a> или на этом<\/a>, по-моему у них один движок:<\/p>\n Чтобы сделать диаграмму более «интуитивной», вместо слова state используется ключевое слово agent, этом случае можно рисовать разные линии.<\/p>\n Ещё к каждому переходу можно добавлять условия, (на картинке выше их нет) об этом подробнее в документации<\/a>.<\/p>\n Если у перехода между состояниями есть условие(я), то линия будет рисоваться пунктирной, а если нет триггера — то с крестиком на конце. Актуально когда состояний и переходов много, можно сгенерить диаграмму и посмотреть нет ли косяков.<\/p>\n Github<\/a><\/p>\n",
"date_published": "2024-12-05T12:18:04+03:00",
"date_modified": "2024-12-05T12:17:48+03:00",
"image": "https:\/\/mopsicus.ru\/pictures\/fsm-example.jpg",
"_date_published_rfc2822": "Thu, 05 Dec 2024 12:18:04 +0300",
"_rss_guid_is_permalink": "false",
"_rss_guid": "270",
"_e2_data": {
"is_favourite": false,
"links_required": [
"system\/library\/highlight\/highlight.js",
"system\/library\/highlight\/highlight.css",
"system\/library\/highlight\/highlight.js",
"system\/library\/highlight\/highlight.css",
"system\/library\/highlight\/highlight.js",
"system\/library\/highlight\/highlight.css",
"system\/library\/highlight\/highlight.js",
"system\/library\/highlight\/highlight.css"
],
"og_images": [
"https:\/\/mopsicus.ru\/pictures\/fsm-example.jpg",
"https:\/\/mopsicus.ru\/pictures\/fsm-uml.jpg"
]
}
},
{
"id": "247",
"url": "https:\/\/mopsicus.ru\/all\/using-git-submodules-unity\/",
"title": "Как использовать Git Submodules в Unity",
"content_html": " И тут сразу возникает вопрос: почему не использовать пакеты и UPM? Это удобно, да и весь механизм уже встроен в Unity?<\/p>\n Но как оказалось, не всегда удаётся выделить какую-то часть приложения в отдельный пакет, чтобы у него было минимум зависимостей и он представлял из себя какую-то самостоятельную единицу. Проекты бывают разные, с различной архитектурой и набором дополнительных ассетов и прочего. А выделить какую-то общую часть (ядро) хочется, чтобы использовать её в других проектах... В общем, если по какой-то причине пакеты вам не подходят — попробуйте Git Submodules.<\/p>\n В чём отличие при работе с сабмодулями гита? Выглядеть это будет примерно так:<\/p>\n Теперь если в подключаемых сабмодулях, что-то меняется, надо просто спуллить обновления. В общем, кто привык работать с Git, то всё достаточно привычно и понятно.<\/p>\n",
"date_published": "2021-09-10T09:58:32+03:00",
"date_modified": "2021-09-10T09:58:00+03:00",
"image": "https:\/\/mopsicus.ru\/pictures\/unity-submodules.png",
"_date_published_rfc2822": "Fri, 10 Sep 2021 09:58:32 +0300",
"_rss_guid_is_permalink": "false",
"_rss_guid": "247",
"_e2_data": {
"is_favourite": true,
"links_required": [
"system\/library\/highlight\/highlight.js",
"system\/library\/highlight\/highlight.css",
"system\/library\/highlight\/highlight.js",
"system\/library\/highlight\/highlight.css"
],
"og_images": [
"https:\/\/mopsicus.ru\/pictures\/unity-submodules.png"
]
}
},
{
"id": "232",
"url": "https:\/\/mopsicus.ru\/all\/200-stars-github-infinite-scroll-unity\/",
"title": "200 звёзд на Github",
"content_html": " Achievement unlocked!<\/p>\n Моё новое скромное достижение. Скрипт с data-driven прокруткой для Unity<\/a>, получил 200 звёзд на Github. Спасибо S1ROZHA :)<\/p>\n Мне как-то писали, что используют его в MTG Arena и ещё какой-то популярной игре. Приятно что этим пользуюсь не только я.<\/p>\n",
"date_published": "2021-01-12T11:27:07+03:00",
"date_modified": "2021-01-12T14:36:46+03:00",
"image": "https:\/\/mopsicus.ru\/pictures\/scroll-200-stars.png",
"_date_published_rfc2822": "Tue, 12 Jan 2021 11:27:07 +0300",
"_rss_guid_is_permalink": "false",
"_rss_guid": "232",
"_e2_data": {
"is_favourite": false,
"links_required": [],
"og_images": [
"https:\/\/mopsicus.ru\/pictures\/scroll-200-stars.png"
]
}
},
{
"id": "198",
"url": "https:\/\/mopsicus.ru\/all\/install-uninstall-multiple-android-devices\/",
"title": "Установка сразу на несколько Android устройств",
"content_html": " При тестировании приложений часто приходится переустанавливать приложение, это очевидно. Когда я делал для себя мини CI\\CD<\/a>, то там уведомление с ссылкой на APK или IPA, приходило в телеграм. Это удобно, когда на девайсах уже всё настроено и есть доступ к телеге. Скачал и установил.<\/p>\n Но есть у меня и много девайсов на Android, которые периодически сбрасываются до заводских настроек. Каждый раз устанавливать и настраивать телеграм на каждом — как-то утомительно. Поэтому, я написал небольшой баш-скрипт который устанавливает\/удаляет приложение сразу со всех<\/b> подключенных андроид устройств. Было б нужное количество портов и проводов :)<\/p>\n Если необходимо, то эти функции можно добавить и в прошлый скрипт для CI\\CD, если не нужно закачивать APK на сервер и отправлять уведомление.<\/p>\nFinite state machine<\/h3>
Finite state machine<\/h4>
\n<\/div>\nfsm.Trigger(Action.Down);\r\nfsm.Trigger(Action.Down);<\/code><\/pre>\n
\non exit standing
\non enter sitting
\non exit sitting
\non enter lying<\/p>\n<\/blockquote>\nFSM UML diagram<\/h3>
FSM UML diagram<\/h4>
\n<\/div>\n@startuml\r\nskin rose\r\ntitle TestFSM\r\nleft to right direction\r\nagent Standing\r\nagent Sitting\r\nagent Lying\r\nagent Jumping\r\nnote left of Jumping\r\nsome help message here\r\nend note\r\nStart --> Standing\r\nStanding --> Sitting : Down\r\nStanding ~~> Jumping : Space\r\nSitting --> Lying : Down\r\nSitting --> Standing : Up\r\nLying --> Sitting : Up\r\nJumping --> Standing : Down\r\n@enduml<\/code><\/pre>
\nUnity использует скрипты и ассеты которые расположены в папке Assets<\/b>. Если вы попробуйте подключить сабмодуль и указать путь, например Assets\/Core<\/b>, то ничего не получится, потому что папка Assets уже существует. Поэтому надо провернуть такой финт:<\/p>\n\n
cd Assets\r\nln -s ..\/Modules\/Core Core<\/code><\/pre>Unity Git submodules<\/h3>
Unity Git submodules<\/h4>
\n<\/div>\nInfinite scroll unity 200 stars<\/h3>
Infinite scroll unity 200 stars<\/h4>
\n<\/div>\nConsole APK install tool<\/h3>
Console APK install tool<\/h4>
\n<\/div>\n