Понедельник, 25 Ноября 2024, 06:24

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Нормальная ли практика использовать словарь внутри словаря
alexsilentДата: Четверг, 02 Января 2020, 15:39 | Сообщение # 1
почти ветеран
Сейчас нет на сайте
Подумал, что для моего стиля программирования подходит хранить часть данных в словарях,
которые находятся в словарях. Нормальная ли практика использовать словарь внутри словаря на C#?

У меня это выглядит так в коде:


Ибо я всё ещё только перехожу на C# с JS, и не совсем уверен будут ли проблемы с утечкой или другие траблы.
Если не будет проблем, но будет медленнее, чем у крутых современных способов хранения данных,
то ничего страшного, мои игры камерные, с небольшим количеством персонажей и объектов на экране,
и я почти не программист, больше художник, так что мне бы подошёл такой способ.

Ибо очень удобно свой мини-язык для скриптинга уровней написать и потом легко доставать из dictionary через имя string любую мне нужную переменную с помощью этого языка.
Как бы это главная цель зачем хочу использовать dictionary, чтобы был лёгкий доступ к переменным через название переменной. Но не уверен, будут ли утечки с подобной структурой.


Сообщение отредактировал alexsilent - Четверг, 02 Января 2020, 16:07
drcrackДата: Четверг, 02 Января 2020, 15:52 | Сообщение # 2
старожил
Сейчас нет на сайте
все норм

Код
public Dictionary<string,int> num = new Dictionary<string,int>();
public Dictionary<string,string> txt = new Dictionary<string,string>();

но можешь почитать про dynamic: https://professorweb.ru/my/csharp/assembly/level5/5_2.php
alexsilentДата: Четверг, 02 Января 2020, 16:01 | Сообщение # 3
почти ветеран
Сейчас нет на сайте
Спасибо!
Хотя думал будет много критики в сторону моего способа)

Добавлено (02 Января 2020, 16:11)
---------------------------------------------
Про dynamic прикольная статья, звучит как переменные в Lua, мне очень нравится программирование на Lua из-за динамических переменных, когда не уверен какая переменная будет.
Хотя кажется (если не ошибаюсь) тут на форуме я видел комменты в духе, что лучше не пользоваться такими переменными в C#.


Сообщение отредактировал alexsilent - Четверг, 02 Января 2020, 16:11
drcrackДата: Четверг, 02 Января 2020, 16:26 | Сообщение # 4
старожил
Сейчас нет на сайте
Цитата
тут на форуме я видел комменты в духе, что лучше не пользоваться такими переменными в C#.

бред, dynamic идеально подходит для твоей задачи, с ним будет чище код и лучше производительность (можешь почитать как именно оно оптимизировано: https://habr.com/ru/post/144330/)
seamanДата: Четверг, 02 Января 2020, 21:09 | Сообщение # 5
старожил
Сейчас нет на сайте
Цитата
dynamic идеально подходит для твоей задачи

dynamic точно не работает в WebGL. Возможно и где то еще.
Цитата
мне очень нравится программирование на Lua

Ну так используйте для скриптинга Lua, в чем дело то? Куча фреймворков есть.

Только не советую всю логику игры выносить в Lua - будут тормоза. Во всяком случае на том что я пробовал.
LLLДата: Четверг, 02 Января 2020, 21:55 | Сообщение # 6
участник
Сейчас нет на сайте
а нахер они нада? crazy
alexsilentДата: Пятница, 03 Января 2020, 13:05 | Сообщение # 7
почти ветеран
Сейчас нет на сайте
Цитата seaman ()
Ну так используйте для скриптинга Lua, в чем дело то? Куча фреймворков есть

Я находил несколько старых Lua плагинов для юнити, а практически всегда старые плагины не работают для новой юнити,
у меня 90% старые плагины (которые я раньше использовал) выдают ошибки, и я даже не стал пробовать.
Есть ли какой-нибудь актуальный Lua плагин для юнити на текущий момент?
И что делать, если юнити снова обновится так, что старые плагины перестанут работать, а обновления не последует на этот плагин? Обычно оно так и происходит, поэтому я старался использовать всё своё, даже если оно кривое,
смогу понять, где у меня ошибки, и как поправить.


Сообщение отредактировал alexsilent - Пятница, 03 Января 2020, 13:27
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг