Advanced: Тема повышенной сложности или важная.
tac
Что было. Вы сказали показать, что не жалко)
1. Полностью согласен.
2. Выбрано самое простое, символы зададутся один раз через конструктор и всё. Ни добавлять ни убирать не нужно.
4.1. Не понял как применить цикл. Свич и ифы мне ещё понятны.
4.2. А если данные попавшие в метод не удовлетворяют его условиям? Не продолжать же метод до конца.
Кароч спасибо за обзор)
jkenmor
можно писать
if (Round(dicePosition.x) && Turn(dicePosition.z))
{
RolledSymbol = Symbols.ToArray()[3];
}
else if (Round(dicePosition.x) && Math.Abs(dicePosition.z - 180) < 0.1f)
{
RolledSymbol = Symbols.ToArray()[4];
}
это избавляет от return, так пишут когда нет switch в языке.
цикл
for (int i = 0; i < 6; i++)
{
if ( (Math.Abs(dicePosition.x + Symbols_i.AddX1) < 0.1f || Math.Abs(dicePosition.x + Symbols_i.AddX2) < 0.1f) && Math.Abs(dicePosition.z + Symbols_i.AddZ1) < 0.1f || Math.Abs(dicePosition.z + Symbols_i.AddZ2) < 0.1f)
{
RolledSymbol = Symbols_i;
break;
}
}
смещения AddX1, AddX2, AddZ1, AddZ2 задать статично в классе
заходите еще :)
tac
Ха. Говнокодишь такой себе спокойно, никого не трогаешь, а потом твой говнокод бесплатно ревьюит грамотный специалист да ещё просит) эта таверна рискует стать лучшей в деревне)
ого - бесплатный коде ревью - атракцион невиданной щедрости, я тоже хочу.
понаписали блин, нефига непонятно что там - помоги добр человек разораться в коде и заодно макнуть их гадов
говнокод
patsanchik3
Откуда этот код? Наверно из какого то ассета, у них как правило все хорошо, только стиль дурацкий. В этом случае мне надо видеть целиком в рабочей сборке, заливайте в контроль версий, чтобы я мог открыть в юнити. И пояснений чего вы хотите от этого кода.
Впрочем там опять же доморощенные события SignalBus ... ктоже это дерьмо распространяет :)
да хрен с ними с сигналами - чета там вообще код в принципе делает и зачем он нужен то ?
может выкинуть его вообще?
patsanchik3
я же говорю это надо смотреть вместе с другим кодом, откуда он выдран.
ну там много всякого - это просто в папке Test было - вот я и подумал - что может нафиг он не нужен, UnityEngine нигде вообще не использует (то же мне блин код от юнити - MonoBehaviour нету, одни какие то интерфейсы) - ну кто так пишет то, обычно открыл MonoBehaviour и в Update портянка на 2К строк - а тут нету нехера
patsanchik3
можно пробовать выкинуть, скорее всего для тестов и было ..
Вообще надо смотреть от чего он наследуется, что за класс EscTestBase и где он используется (студия теперь легко позволяет найти ссылки)
да там тоже нихера не понятно :)
EscTestBase
воу воу - на студии грят лошки только остались - все пацаны уже на райдер перебрались давно.
да я вот тоже думаю на кой ляд эти тесты нужны - морока одна с ними сплошная
patsanchik3
дальше пошли TestBase смотрим :)
это что за код? для чего он?
TestBase
тык вот и я хочу понять что за дичь :)
patsanchik3
хрень какая то, скорее всего для юнит-тестирования, забей
да - вероятно не стоит в архитектуре использовать интерфейсы (контракты) и тесты,
(хрень и дичь) - monobehavor рулит.
А еще можно через GetComponent<> зависимости тянуть куда угодно и будет всем хорошо - пойду выпилю все нахрен :)
patsanchik3
> А еще можно через GetComponent<> зависимости тянуть куда угодно и будет всем
> хорошо - пойду выпилю все нахрен :)
если это тонкий троллинг, то зря .. в использовании GetComponent<> не вижу ничего плохого, это уж точно лучше, чем делать то же самое но через зад интерфейсы
patsanchik3
> monobehavor рулит
а он вам чем не угодил?
patsanchik3
> не стоит в архитектуре использовать интерфейсы
интерфейсы еще надо знать когда использовать :)