Знаете, я к своим вещами отношусь трепетно и аккуратно. Вот, допустим, я не разбила ни одного стекла на своих телефонах. Не потеряла, не утопила случайно. Все в целости и сохранности. Да, аккумулятор может не вынести моей осторожности и жахнуться сам, чтоб, значит, я додумалась новую модель телефона купить и оставить его в покое на старости лет. А так нет, так я вещи берегу.
И особенно мне некомфортно, когда мои вещи берёт кто-то другой. Даже если и с моего разрешения. А тем более ─ если кто-то вещь неаккуратно спиздит.
Тут я, конечно, теряю самоконтроль.
Учила я как-то детей резать по дереву. Конечно, в полном смысле детьми этих оболтусов назвать нельзя ─ в основном это хулиганистые подростки, которые достались мне от предыдущего педагога, Доминика ─ настоящего художника и резчика. (Он совсем не вовремя спился и начал резать портреты и эпитафии на каменных могильных плитах).
Этот бывший педагог человеком был добрым и покладистым, много им позволял, потому что всегда был или подшофе, или с бодуна. И ко мне эта банда попала с расшатанной психикой и неровными моральными принципами.
И вот они у меня сидят. Скучают по своему любимому Доминику и режут… Его резаками в основном режут (добрейший Доминик передал мне и все резаки, и все дрова).
Но, конечно, не только его ученики были. Были и мои личные. И резаки мои личные тоже были. Пара штук, но были. Мне их подарил другой резчик. Они мне, может, дороги как память. Я их, может, привела в порядок, покрасила морилкой и любуюсь всякую минуту.
И вот как-то смотрю ─ а нет на месте одного моего резака!! Вот совсем нет! Такого чтоб резаки пропадали ─ такого эти раненые в душу подростки ещё не видели. И очень огорчились. И обещали сломать руки, нос и шею гаду, который покусился на святое.
Надо, конечно, понимать, что мальчики были в очень растрёпанных чувствах после ухода (в запой и с работы, а не то что вы подумали...) любимого педагога. Их можно понять. И хотя возобновление занятий по резьбе несколько примирило их с потерей, но угроза расправы с любым, кто попадёт под подозрение, оставалась.
─ Не переживайте, ─ поспешила я их успокоить, ─ любой, кто притронется к моим вещами без спроса ─ обязательно пострадает!
Самое главное, думаю я, не допустить рукоприкладства. Смотрю, вроде успокоились. Хорошо, сидим, дальше, пытаемся изобразить что-то из дерева, потому что изобразить что-то приличное на лице не получается: они свирепы, я скалюсь, как идиотка.
Проходит, может, час. Или другое какое-то время. Некоторые уже и домой ушли.
И входит тут ко мне в кабинет преподаватель с первого этажа и говорит, что я нарушаю технику безопасности, разбрасываю везде свои резаки, и дети, может быть, об них травмируются. И вводит в кабинет пострадавшего отрока лет двенадцати. Мой.
─ Как это нарушаю, — говорю, ─ нету такого. Весь инструмент на месте. А если кто и спёр чего по недомыслию ─ то я тут не виновата. Это пусть их родители отвечают.
─ А я, ─ говорит преподаватель, ─ не интересуюсь, кто отвечает. Это пусть милиция разбирается. А только вот вам пострадавший! ─ и толкает ко мне этого отрока. ─ Он, ─ говорит преподаватель, ─ порезался, и ему даже пришлось клеить лейкопластырь на пострадавшую область!..
А отрок глазки прячет и смущается. С чего бы это? Вроде так-то тип нагловатый…
— …Вот туда! ─ громогласно заканчивает обличительную речь преподаватель с первого этажа и указывает пальцем на задницу отрока.
Мы все дружно смотрим туда же. А отрок блеет:
─ Я, ─ говорит, ─ сел на лавочку переобуться, а оно мне как впилось!.. ─ и вздыхает.
Преподаватель с первого этажа ушла, осуждающе окинув всех взглядом.
Мы с остатками мстителей внимательно смотрим на пострадавшего.
─ Вот ваш резак, ─ робко говорит он и выкладывает на стол пропажу.
Мы смотрим и понимаем, что как ни пристраивай на него свою жопу, порезать её не получится. Тем более ─ если жопа в толстых трикотажных штанах.
─ А ну! ─ один из мстителей несколько грубо развернул отрока пострадавшей частью тела к нам: дырки на штанах на означенном месте не наблюдалось.
─ Да там царапина просто, ─ заюлил отрок и начал отступать к двери. ─ Кто-то бросил резак на лавку… Наверное слышал, что вы сказали… Испугался…
Он не уточнил, кто именно и что сказал: то ли про нос и шею, то ли про другие неприятности.
─ Знаете, как иголкой кольнуло, ─ продолжал отрок, продолжая отступать. Мы молчали. ─ Ну, от иголки же штаны не рвутся? ─ он неестественно засмеялся и сдриснул из кабинета.
Никто за ним не побежал. По лицам присутствующих было понятно, что отроку никто не поверил.
─ Надо было внутри кармана посмотреть, там дырка, ─ предположил один.
─ Догоним? ─ это второй.
─ Догонишь его, он как заяц подстреленный, ─ это третий.
─ Не надо никого догонять, ─ это я. ─ И лезть в карманы не надо ─ это незаконно, ─ постаралась я предупредить незаконные действия подопечных.
Конечно, опасения были. Но, с другой стороны, резак вот он, лежит на столе. А значит, и репрессии надо отменять.
Больше у меня в кабинете ничего не пропадало. Или я просто не замечала. А только с того времени меня стали называть ведьмой. Не то чтобы прямо в глаза. А при случае. Не может кто-то найти, допустим, батарейку или какой другой необходимый предмет, ножницы какие-нибудь.
─ Ничего, ─ говорят, ─ вот кто щас ногу сломает ─ тот и спёр.
─ Не бери без спроса, ─ учили новеньких, ─ а то с лестницы свалишься и шею сломаешь.
Это вяхирь. Вообще они лесные, но Кисловодский парк им видимо так понравился, что они решили там поселиться. Я их понимаю: посчитала, оказалось что мы шестой раз были в Кисловодске )
Когда первый раз его увидели, муж утверждал, что это просто голубь так разъелся, и меня пытался в этом убедить. Считаю что это был газлайтинг ) Пришлось гуглить )
Птиц реально сильно крупнее обычной гульки, ходит вразвалочку, видно что более массивный и тяжёлый (кстати это охотничий вид, их стреляють и жруть, поэтому они не с таким энтузиазмом селятся в городах, как обычные голуби).
Это сойка, у нас они не водятся, а в Кисловодске их полно. Мы их с любовью называем "слойки". Стоя у одной и приманивая орешком, услышала как вслед за нами их так же стала называть прошедшая мимо пара. Распространяем новое название :-)
Ещё синичка
О, уже две!
А вот это другая синичка, маленькая. Такие более храбрые, их больше садилось чем обычных жёлтеньких
Стоит оговориться, что речь не просто про Godot как таковой. Потому как я сделал форк Redot'а (форка Godot'а) и там уже в исходниках движка внёс исправления.
Мне показалось странным, что такой базовой вещи, как менеджер пакетов нет в движке из коробки, поэтому я вооружился буквами и пошёл насыпать их в код. В качестве первого этапа разработки подключил АПИ NuGet'а, дальше в будущем планирую добавить добавление пакетов из гита и в последствии, думаю, это будет логично, планирую поднять собственный репозиторий, чтобы хранить там свои какие-то переиспользуемые пакеты или пакеты, предназначенные только для движка.
Вообще, если вы используете для работы не встроенный редактор скриптов, а VS, то стандартного нюгет пакета вполне хватит на первое время, но так как я сморю чуть дальше и чуть глубже, я пошёл по пути собственного инструмента. Дополнительно: я пишу на шарпе, а Годот по умолчанию работает с GDScript и шарп у него подключается отдельно. Я сбилдил свою версию так, чтоб она по умолчанию работала с шарпом.
И так, что же у нас тут по менеджеру пакетов?
В папочке modules/mono/editor/GodotTools/GodotTools/ создаём новую папку нашего инструмента, я назвал её NuGet на текущем этапе. При доработках думаю, переименую уже во что-то более универсальное.
Внутри папки создаётся три файла: NuGetManagerWindow.cs
Класс описывающий окно, наследует и имплементрирует ConfirmationDialog, ISerializationListener. Описать обязательно несколько методов:
public override void _Ready()
{
Title = "NuGet Package Manager";
Size = new Vector2I(800, 600);
Exclusive = true;
_apiClient = new NuGetApiClient();
BuildUI();
RefreshInstalledPackages();
}
BuildUI и RefreshInstalledPackages соответственно это не обязательные прям с точки зрения Годота методы, просто я в них вынес нужную мне логику.
Второй класс NuGetPackageInfo - это буквально описание каждого пакета. То есть просто DTO для пакетов с основной информации:
/// <summary>
/// Represents a NuGet package from search results.
/// </summary>
public class NuGetPackageInfo
{
[JsonPropertyName("id")]
public string Id { get; set; } = string.Empty;
[JsonPropertyName("version")]
public string Version { get; set; } = string.Empty;
[JsonPropertyName("description")]
public string Description { get; set; } = string.Empty;
[JsonPropertyName("authors")]
[JsonConverter(typeof(StringOrArrayConverter))]
public List<string> Authors { get; set; } = new();
[JsonPropertyName("projectUrl")]
public string ProjectUrl { get; set; } = string.Empty;
[JsonPropertyName("iconUrl")]
public string IconUrl { get; set; } = string.Empty;
[JsonPropertyName("totalDownloads")]
public long TotalDownloads { get; set; }
[JsonPropertyName("versions")]
public List<NuGetVersionInfo> Versions { get; set; } = new();
public string AuthorsString => string.Join(", ", Authors);
}
Ну и NuGetApiClient – логично, что дёргает запросы в сторону нюгета, для получения информации о пакетах.
После того, как мы всё что нужно описали, надо отредактировать GodotSharpEditor.cs и добавить туда ссылку на наше окно, добавить пункт меню и его обработчик для открытия нашего окна
Это лягушка, обитающая в Южной Америке. Из-за огромного рта её также называют Пакманом. Собственно, основное название также отражает внешний вид. Лягушка вся покрыта разноцветными полосами и пятнами, а над глазами у неё есть небольшие выросты, напоминающие рога.
Рогатка очень крупная, размеры достигают 16 см. Прокормиться такому внушительному созданию трудно, так что лягушка обладает исключительной прожорливостью. Она буквально пытается поглотить всё, что видит, вплоть до грызунов, небольших птиц, ящериц и других лягушек. Даже если от этого задохнётся.
Рогатка может даже больно укусить человека, если посчитает его угрозой.
Тем не менее, большое количество жировых отложений позволяет лягушке долго голодать.
И вновь всем мяу ква! Думали, раз жабий челлендж завершён, то жаб больше не будет? Как бы не так! Теперь это станет нерегулярной жабьей рубрикой. Ура? Ура!
На самом деле удивляюсь, почему начала не с него – он же буквально первое, что приходит в голову при слове «лягушка». Да и вышивается очень легко: всего 4 цвета ниток, весь бэкстич счётный.
Думаю, никого не удивлю, если скажу, что он тоже стал магнитиком и отправился на мой системный блок к остальным жабкам. Раньше у меня на столе была капибармия (привет @capybarystic), а теперь – жабармия.
Ну и сама история. Мы иногда ездим в гости к родственникам супруга, это подножье горы Качканар, дом в полувымершей деревне, за забором начинается тайга практически. Нереально красивое место, с кучей животных и птиц.
Зима, вечер, стою на крыльце с мужем, небо в звездах, мороз, тишина полнейшая, красота. И за забором в лесу слышим жуткий крик. Я решила, что кого-то насилуют или убивают, то ли девушку, то ли подростка. Вспоминаем все местные байки и легенды, истории про росомах, которые плачут как дети. Лайка в вольере захлебывается лаем. Крики все ближе.
Зимней фотки не нашла, только летняя. Вот за баней и начинается уже дикий лес.
Я итак трусиха, а тут вообще страшно так стало. Потом крики пошли вдоль границы леса и деревни, обошли деревню по кругу, собаки во всей деревне просто взбесились. Собаки долго еще лаяли, но криков больше не было слышно.
А мы несколько дней искали в интернете кто-то орет в тайге ночью зимой, а потом охотник рассказал: это молодой лисовин зовёт так подругу себе) в общем лисы говорят не только фыр-фыр и тяв-тяв)
Ну и просто красивых фото немножко из тех мест:
Перевал. Дороги идут вдоль нитки труб Помара-Ужгород.
Гора Качканар
Холмик на льду - бобровая хатка, есть у нас развлечение по осени, когда болота подмерзнут, а глубокого снега нет - искать куда переехали бобры за лето) там живет несколько семей, и есть целый город бобриный
У тебя детализация слишком хорошая для того чтобы управиться за час :) По своему опыту: скорость вырабатывается тогда, когда закрываешь глаза на детали и хочешь передать общее - цвета, ощущение, ценно...
Как-то раз после дождя их повылезало столько, что невозможно было пройти, не наступив. Я домой почти по воздуху летела
Ареал обитания расширился, природа восстановливается. Теперь их можно увидеть не только в полях, но и в городах!