Dreaman Dreaman

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

...
TheDarkestRed TheDarkestRed

Тренировка для паука 🕸 🕷 🤺 🎮

AnnTenna AnnTenna

Зарелизили перевод на английский язык нашей фан-игры!

guniball guniball

Запустили альфу Wild Terra 2! PvE и PvP, рыбалка, питомцы, 115 рецептов крафта и строительства, 27 навыков и море фана!

DuCats Games DuCats Games

Dreaman, да, в рамках нашей игры такое не впихнешь) У нас и так там есть треш и угар - мы его просто не показывали, но кто играл в первую текстовую игру - тот поймет о чем я.

Dreaman Dreaman

DuCats Games, хе хе )) Точно. Классно придумал :)
Это надо отдельную игру делать - "Невероятные приключения Ленина" :))

DuCats Games DuCats Games

Dreaman, Dreaman, ну да)) Это ржачно было бы)) Суперспособности в стиле призыва броневика и блеска лысины, ослепляющего врагов)

Dreaman Dreaman

DuCats Games,

Хех )) Всё, теперь уже фантазия разыгралась. Было бы круто, если бы в качестве главного героя был Ленин с мечом. По крайней мере, чтобы его можно было выбирать в качестве альтернативного персонажа ...

DuCats Games DuCats Games

Dreaman, ага)) Про Ленина в игре будет прямо что надо))

Dreaman Dreaman

DuCats Games,

Аа! ) А я смотрю, трейлеры то маленько отличаются. Вот я и подумал, что это реально новый серьёзный трейлер и вы решили именно такую музыку использовать на полном серьёзе ))

Rfdshir Rfdshir

Jusper, KO3bMA, alexprey, Dreaman, пасиб! Да, это покадровая съемка пластилиновых моделей.

DuCats Games DuCats Games

Dreaman, ну да, это и есть в качестве прикола же)) А в прошлый субботник выкладывал нормальный трейлер с нормальной музыкой) А это так - поугарать.

Jusper Jusper

KO3bMA, покадровая съёмка, вспомнил!

Dreaman Dreaman

kirsakshlil,

Интересно выглядит. Теперь игра стала похожа на всеми любимый Doom :)

Dreaman Dreaman

DuCats Games,

Всё хорошо и красиво, но музыка такая конечно совершенно не подходит. Разве что только в качестве прикола ;)

alexprey alexprey

kirsakshlil, внезапная смена локаций)

Dreaman Dreaman

TheDarkestRed,

Классный паучок! Не хотел бы я встретить такого в лесу ))

Dreaman Dreaman

Игра конечно очень странно выглядит и в то же время очень оригинально и интересно :)

Dreaman Dreaman

KO3bMA,

Так это ж всё из пластилина сделано. И анимировано всё также как анимируют пластилиновые мультики - покадрово всё снимают, меняя положение пластилиновых фигурок. Ну как-то так )

alexprey alexprey

Ого, круто то какая!

Логотип проекта Unity

Ошибка с MonoBehaviour классом

Писал я скриптик, большой, жирный, с кучей вспомогательных методов. Дальше перешел к тестированию, пытаюсь перетащить его на объект. И вот, я получил ошибку!

Ошибка с MonoBehaviour классом — Unity — DevTribe: инди-игры, разработка, сообщество

Вы просто не представляете как было сложно найти причину этой ошибки. Пришлось удалять по строчке, пока не нашел проблему.
Сперва думал, что проблема в наследовании интерфейса. Но... нет.
Использование пространства имен? Тоже, мимо.
В ходе дальнейших экспериментов выяснил, что проблема возникла в написанных функциях. А если быть точнее в такой вот строчке

public bool IsUseResource(ResourceType resourceType, ResourceAction resourceAction = ResourceAction.Count)

Казалось бы, что тут может быть не так? А косяк в параметре по умолчанию.

// Замена 
ResourceAction resourceAction = ResourceAction.Count
// на 
ResourceAction resourceAction

решило проблему... Неожиданно, не правда ли???
Теперь мы можем сделать следующий вывод:
Не используйте параметры по умолчанию в методах MonoBehaviour!

Смотрите также:


Комментарии



На самом деле этот баг свойственен если соблюдаются 4 условия:

  1. Задействовано пространство имен
  2. Имеются статические методы
  3. Имеется перегрузка метода
  4. Наследие от MonoBehaviour

В этом случае действительно происходит вот такой вот баг. Однако если хотя бы один из этих пунктов упущен - все будет работать на ура.

Extravert, не совсем так, ибо я использую и пространство имен и статичные методы и перегрузку и даже наследуюсь от монобехайвеора

alexprey, вот простейший пример, который я имел ввиду. Скрин: http://prntscr.com/390te5
Тело:

using UnityEngine;

namespace MyNamespace
{
    public class Test : MonoBehaviour
    {
        public static void Create(int a, Transform v = null)
        {
            
        }
    }
}

Уберите пространство имен, статик у метода, перегрузку, либо наследование и скрипт будет валидным. На этом я и построил вывод о том, что необходимо соблюдение всех 4 условий.
UPD: со статиком перегнул, он не обязателен.
Если вы кинули валидный скрипт - он никуда не денется (единственное что при перезагрузке может сбиться, либо поля захайдить), так как проверка идет при добавлении элемента.

Devion, в твоем примере то кст, баг, описанный именно мной) Потому что у тебя там параметр по умолчанию :D

alexprey, да, но это неверная логика.
Параметр по умолчанию, сам по себе, без этих условий не приводит к таким последствиям.
Пространства имён, сами по себе тоже.
Статик методы, наследие от монобехи, аналогично.

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

Справка