Задать вопрос
Ответы пользователя по тегу C#
  • Как влиять на окно выводя его за пределы экрана?

    GavriKos
    @GavriKos Куратор тега Unity
    Используя стредства ОС и методы .net.
    Юнити такое апи не предоставляет, но это не значит что нельзя использовать что то другое.
    Ответ написан
    Комментировать
  • Как поставить задержку или остановку между вызовами методов из разных скриптов?

    GavriKos
    @GavriKos Куратор тега Unity
    из-за чего случается так, что инпут для конца диалога зачитывается как и использование следующего предмета в инвентаре


    Ну тут как будто неправильно отлавливается нажатие клавиши. Например смотрится статус в апдейте без блокирования. Нужен код.

    А вообще по хорошему - надо фиксить хотя бы эту часть:
    оба скрипта работают одновременно

    Обработчик нажатий дожен быть один. Должна быть стейтмашина (мы щас в инвентаре или в диалоге), и пока управление находится в диалоге и диалог работает - никакие клавиши не должны слушаться в инвентаре.
    Ответ написан
    Комментировать
  • Почему цикл for может не работать?

    GavriKos
    @GavriKos Куратор тега Unity
    if (lines.Lines[index].buttonsArray[0].gameObject == false)

    For выглядит рабочим. А вот что ожидается от этого кода - непонятно. Скорее всего вовнутрь никогда не попадет выполнение. Наверное вы хотели проверить что объект выключен, для этого нехватает какого ить .isActive. А так просто выглядит как проверка на отсутствие объекта.
    Ответ написан
    Комментировать
  • Как называется паттерн, который добавляет объекту новый функционал?

    GavriKos
    @GavriKos
    Программисты делятся на два типа - те которые знают и используют паттерны, и те которые не знают но все равно используют.

    С учетом впецифики юнити, которая не допускает вообще нормального new компонентам, и специфики шарпа с отсутствием мультинаследования - какая разница что это? Читая заголовок я бы вообще сказал что это наследование (а что, добавление функционала).

    Билдер - это как фабрика - это то что КОНСТРУИРУЕТ объект, а не сам объект. ИМХО.
    Пилите игру. пофиг на имена.
    Ответ написан
    2 комментария
  • Как закрепить к варианту enum переменную?

    GavriKos
    @GavriKos Куратор тега Unity
    Так это вопрос не к енаму, а к редактору. Пишите в юнити свой редактор - и в нем делайте как угодно.
    А то что вы описали по факту заворачивается в какой нить словарь и фабрику +наследники. Но редактор такое не вывезет.
    Ответ написан
    Комментировать
  • Как написать нейросеть на языке программирования C#?

    GavriKos
    @GavriKos
    нейросеть подзабывает правильный ответ к предыдущим входным данным

    Мало слоев, мало нейронов, неправильная функция активации нейрона, неподходящий алгоритм сети исходя из данных - ну какие то такие базовые причины )))
    Ответ написан
    3 комментария
  • Как правильно прибавить число?

    GavriKos
    @GavriKos
    test1 + test2/1000000.0

    Какой вопрос такой ответ. Ведь вы не указали что делать при других значениях и что вы в целом делаете. Просто математически сложить, или склеить как сказал alexalexes, или еще что.
    Ответ написан
    Комментировать
  • Какие фреймворки надо учить для Unity c#?

    GavriKos
    @GavriKos Куратор тега Разработка игр
    Собсно Unity это по факту и есть фреймворк почти в своем каноничном определении.
    Ну если вы только не имеете ввиду версию .net...
    Ответ написан
  • Видео курс по c# для продвинутых?

    GavriKos
    @GavriKos
    Не будет такого курса по c#. Потому что кроличья нора сильно глубока. За пониманием стека потянется адресная арифметика, за ней - работа RAM и страницы памяти, потом перейдем на физический уровень.. Когда останавливаться то? Поэтому и сделаны абстракции в виде высокоуровневых языков программирования. А если кому нужно что то глубже знать - то это изучается отдельной темой.
    Ответ написан
    Комментировать
  • Программа перевода из десятичной системы счисления в двоичную, правильно?

    GavriKos
    @GavriKos
    Учитывая, что метод не принимает отрицательные значения

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

    Дальше. По красоте - метод должен возвращать бинарное представление, а дальше уже выводить в консоль или еще куда - это задача не метода.

    Дальше. Честно я не понял зачем нужна переменная quotient. По моему можно без нее.

    Ну и еще метод должен называться глаголом в идеале )
    Ответ написан
    1 комментарий
  • Как использовать все потоки процессора при вычислении числа Фибоначчи в C#?

    GavriKos
    @GavriKos
    Я уже знаю про Parallel.For, но такой подход не позволяет мне сохранить результат предыдущих номеров

    Ну вот в этом и смысл параллельных вычислений ))) Ваш алгоритм не может работать в несколько потоков в этом виде, именно потому что каждому следующему результату нужен предыдущий. Избавляйтесь от этого условия - и получится распараллелить
    Ответ написан
    1 комментарий
  • Как сделать счётчик патронов у автомата в Unity?

    GavriKos
    @GavriKos Куратор тега Unity
    if (Input.GetButton("Fire1") && ammo > 0 && ammo != 0)
            {
                Shoot();
                NextTimeToFire = Time.time + 1f / FireRate;
                StartCoroutine(AmmoMinus());
            }


    Ну так у вас скорострельность равна FPS по сути.
    Добавляйте паузу между выстрелами - если с предыдущего выстрела прошло достаточно времени - делать следующий. Причем судя по NextTimeToFire попытки были - но переменная то в проверке не участвует
    Ответ написан
    Комментировать
  • Не работает использование классов с MonoBehaviour?

    GavriKos
    @GavriKos Куратор тега Unity
    Потому что в принципе нельзя создавать наследников MonoBehaviour через new. Ошибку бы конечно увидеть еще, что там пишет, но это в принципе практика крайне ужасная. Наследники монобехов создаются через методы юнити - AddComponent, Instantiate и т.д.
    Ответ написан
  • Почему картинка начинает весить больше?

    GavriKos
    @GavriKos
    Ну судя по виду - вы никак не учитываете какие настройки сжатия были у файла изначально. И сохраняете со своими. И что то мне подсказывает - еще и в bmp, а там сжатия нет вообще.

    Расширение файла ни при чем - надо смотреть внутренний формат.
    Ответ написан
  • Как правильно сделать программную проверку качества соединения с сайтом?

    GavriKos
    @GavriKos
    Подзадача - определиться с термином "качество". пинг - не показатель качества. И к сайту не относится - другой уровень.
    Что такое качество? Скорость загрузки сайта? Но на это влияет не только канал, так что речь не о качестве соединения.
    Ответ написан
    5 комментариев
  • Invalid expression term "else" как исправить?

    GavriKos
    @GavriKos
    If пишется с маленькой буквы. У вас везде с большой.
    Используйте не сублайм, а что то более близкое к IDE. Хотя бы VSCode.
    Ответ написан
    Комментировать
  • Как создать указатель на массив или как решить задачу?

    GavriKos
    @GavriKos
    Заменить массивы на List - он ссылочный, и все будет работать без копирования.
    В принципе ваш код вроде тоже должен работать - но это будет копирование.
    Ответ написан
    Комментировать
  • Как сделать так, что бы объект не спавнился в объекте?

    GavriKos
    @GavriKos Куратор тега Unity
    1. Перед спавном проверять коллизии. Если есть коллизия - выбирать другое место
    2. Спавнить по умному - например, по сетке. Или вычислять точку спавна на основе уже имеющихся машин.

    У вас же тупой простой рандом - в нем нет никаких логик проверок - поэтому увы
    Ответ написан
    6 комментариев
  • Зачем файл с расширением .sin?

    GavriKos
    @GavriKos
    Может все таки sln?
    Это объединение проектов - солюшн. Вполне нормально, когда несколько проектов объединены, когда собирается больше одного exe например
    Ответ написан
    Комментировать
  • Когда выделяется память для переменных внутри функциях?

    GavriKos
    @GavriKos
    В юнити неплохой профилировщик памяти - возьмите да посмотрите.
    Но меня бы тут волновало не количество памяти, а то что внутри Move вы тогда сравниваете строки - а вот это уже дольше + сложность O(N). Сравнение интов - O(1).
    А если вам хочется писать Move(Forward) - откройте для себя enum.

    Я пишу сетевую игру, поэтому религиозно сражаюсь за легкость Update(), мне очень важно.

    Нахер не надо. Напишите сначала СТАБИЛЬНУЮ СЕТЬ. А потом занимайтесь оптимизацией там, где это БУДЕТ НУЖНО.
    Ответ написан
    Комментировать