JDC DevLog 🕳
51 subscribers
93 photos
6 videos
6 files
17 links
Это канал Его Пренаибобрейшества. Несогласованный оборот публичных данных карается казнью на шампурах (декомпиляцией). Приятного пребывания.

чат канала: t.me/+vI2E4Nx1XVEyNmVi

- t.me/jeusdevstd
Download Telegram
1👎1🐳1🗿1
Вы используете using не по максимуму!

Кейворд-директива using используется почти во всех скриптах при работе с Unity. Я провел небольшой резерч на эту тему и приведу вам примеры использования, о которых вы могли не знать или знали не всё:

1️⃣ Классический пример - импорт пространства имен:

Это позволяет использовать классы и методы из других пространств имен без указания полного пути (Например без using пришлось бы писать UnityEngine.Debug.Log() вместо Debug.Log())
using UnityEngine;

При создании скрипта Unity (в зависимости от версии) добавляет нужные неймспейсы - UnityEngine, System и (в старых версиях) System.Collections.


2️⃣ using для работы с ресурсами (IDisposable):

Обеспечивает автоматическое освобождение ресурсов (например, файловых потоков) после использования
using (StreamReader reader = new StreamReader("file.txt")) {
string content = reader.ReadToEnd();
} // reader.Dispose() вызывается автоматически

Это помогает избежать утечек памяти и висящих сетевых подключений. Вызов Dispose() гарантирован даже при исключениях.

Больше про IDisposable:
Это интерфейс, который требует реализации метода Dispose(). Его задача — освободить ресурсы, когда объект больше не нужен
public class FileReader : IDisposable {
private StreamReader _reader;
public FileReader(string path) { _reader = new StreamReader(path); }
public void Dispose() {
_reader?.Dispose(); // Закрываем файл
Console.WriteLine("Ресурсы освобождены!");
}
}

Оператор using автоматически вызывает Dispose() при выходе из блока, даже если произошла ошибка. Вот пример кода чуть выше, только без using:
StreamReader reader = null;
try {
reader = new StreamReader("data.txt");
string content = reader.ReadToEnd();
Console.WriteLine(content);
}
finally {
reader?.Dispose(); // Гарантированное освобождение
}


Некоторые Unity-объекты (например, Texture) используют нативную память, но не реализуют IDisposable. Вместо этого у них есть:
Destroy() – для удаления игровых объектов
Resources.UnloadUnusedAssets() – для принудительной очистки
Поэтому если объект не реализует IDisposable, то using не сработает


3️⃣ Статический импорт:

Статический импорт позволяет использовать статические методы, константы и свойства без указания имени класса. Это особенно полезно там, где часто применяются утилиты всяческие:
using static UnityEngine.Mathf;
float x = Clamp(5, 0, 10); // Вместо Mathf.Clamp()

Но если импортировать два класса с одинаковыми методами, будет ошибка.
Также - работает только для статического контекста
using static UnityEngine.GameObject;  //GameObject - не статический



4️⃣ Псевдонимы:

Это способ дать кастомное имя неймспейсу в коде - например, заменить коротким длинное название пространства имен или типа:
// using Псевдоним = Полное.Имя.Пространства;
using StringList = System.Collections.Generic.List<string>;
StringList names = new StringList();


Это помогает 1) упростить код, если имя получается слишком длинное, 2) решить конфликт, если классы называются одинаково, 3) улучшить читабельность в крупных проектах.

Более того:
В новых версиях C# можно задавать глобальные псевдонимы, которые работают во всём проекте:
global using Vec3 = UnityEngine.Vector3;

Теперь Vec3 можно использовать в любом файле проекта без повторного объявления.


Вот, вы узнали про using больше! И теперь вы легко узнаете кто заворачивает поток вашего сна в диспозабл. Используйте эти фичи уместно и аккуратно, тогда и все чисто будет 🤝
#Интересное
🔥101👎1🏆1
JDC DevLog 🕳
Photo
У нашего неповторимого cbkzly сегодня день рождения(🎉🎉🎉);
🎉13👎1
🐳93🥰2👎1🤣1
JDC DevLog 🕳 pinned «Добро пожаловать на JDC DevLog! Основные теги: #Интересное - говорит за себя #Новость - тоже говорит за себя #ОпенСоус - открытый код и любые другие материалы #CTF - временные ивенты Capture The Flag Проекты: #EFP - Escape From POPOV #ProjectResearch - общая…»
Слышите? Зря
На финляндской grepплощадке
плотину написал стажер, и кодовым его прозвали: бионический бобер. Чтоб кернель не падал в паник, чтобы судо не подвел - дебиан отныне ставят, ведь убунту не пошел
🐳6🤔5👎1🍌1
JDC DevLog 🕳
Photo
gr_roll.jpg (1)
🔥7👎2❤‍🔥1🤩1
😭9👎2🐳2😁1👀1
да что это такое ваш кибрис
🤔5🔥42👎2
дикий kanban
🐳8👎2🤩1👻1
JDC DevLog 🕳
https://jeusdev.itch.io/efpopov Да, я забыл скинуть итч #EFP
УЖАС! 🐳
Пожалуйста, предложите платформы на которых хотели бы видеть проекты
#Новость
🫡8👎2😢1😭1
я не успел разработать самую важную деталь для шифратора,

так что пока просто:
С днем программиста всех причастных!
🎉104👎2🤩1
©jailbreaked
🐳6👎2🤩2👾1
Сделать ли душную серию постов про машинное обучение?

👍 / 👎
👍23👎4🐳1🤓1
всем по одной
🍾73👎2🎉2
🍪
🎄3❤‍🔥2🐳2🍾21👎1👏1😎1
вот и что мне теперь с этим делать
🐳54👎2🤔1🍌1
Сегодня один из легендарных админов МШП празднует юбилей! С днём рождения Виталий! 🎉🍪
🎉13👎2🤩2🍾2
❗️ Никто не ожидал, но это произошло:

Две конкурентные стороны, противоположные философии ААА геймдева и народных индюшек теперь сотрудничают.
Оба UE внезапно взяли да заколлабились, и теперь они официально партнеры 🖥 🖥

Это что вообще значит:

- Unity добавляет поддержку Unreal Engine в свою кроссплатформенную торговую платформу
- Разработчики Unity смогут публиковать продукты напрямую в Fortnite
- Движок Unity получит поддержку пайплайнов Unreal, а также расширение инструментов, в будущем возможно соединение пайплайнов и даже языков. Пересесть на другой движок станет легче
- Оба за создание единой комфортной системы геймдева


Это новая архитектура в игропроме, где движки будут брать сильные стороны друг друга, а не изолировать их - это новый подход к разработке. Инструменты станут взаимозаменяемыми, а интеграция контента станет кроссплатформенной! Это не значит, что они станут одним движком - шарм и общее назначение каждого скорее всего не изменится

🎮 Фортнайт теперь в перспективе является очень жестким конкурентом платформе Roblox, потому что расширяет свои границы - разработчики смогут управлять ценообразованием, акциями и работой в реалтайме с Unreal Engine/ Компании все еще будут конкурировать, но это будет кооперативная конкуренция, направленная на остальной рынок - Epic Games бросит хороший вызов Steam, а Unity расширит сферу деятельности и технические возможности. Конкретно для Unity разработчиков откроется доступ к платформе с многомиллионной аудиторией

Что с другими движками:

👩‍💻 Godot к сожалению рискует остаться позади как инди движок.. и я не представляю что будет с CryEngine, который итак уже доживает свою жизнь, как и остальные малоизвестные движки, которые совершенно потеряют позицию в конкуренции с обоими UE

🕟 Ссылки на это все дело: 👉(тык Unreal) и (тык Unity). Точная информация об этом партнерстве и сроках будет предоставлена ​​в следующем году.. теперь я жду уже не новую версию 6к и, видимо, придется подождать еще пару лет
#Интересное #Новость
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉5🔥4🍌2🍾21❤‍🔥11👎1
JDC DevLog 🕳
gr_roll.jpg (1)
мониторы перепутал
🔥8🐳2🏆2❤‍🔥1👎1😢1🍓1