Найти сценарий объекта по заранее заданной переменной - PullRequest
0 голосов
/ 14 февраля 2019

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

Чтобы достичь этого, я создал модули как объекты сценариев и создал сценарий ModuleManager для их плавного создания.

Чтобы выбрать определенные модули, я создал

public List<Module> modules = new List<Module>();

Теперь мне нужно выяснить, как вывести определенный модуль из списка, учитывая значение определенной переменной, например difficulty назначенный в модуле сценарий объекта сценария.

Может кто-нибудь помочь мне, пожалуйста?Заранее спасибо!

1 Ответ

0 голосов
/ 14 февраля 2019

вы можете использовать, например, LINQ FirstOrDefault , например,

using System.Linq;

//...

public Module GetByDifficulty(int difficulty)
{
    return modules.FirstOrDefault(m => m.difficuty == difficulty));
}

, если difficulty не уникально, вы получите первое совпадение в списке.Если совпадений не найдено, вы получите значение по умолчанию (для классов обычно null).


В основном это ярлыки для использования

public Module GetByDifficulty(int difficulty)
{
    foreach(var m in modules)
    {
        if(m.difficulty == difficulty) return m;
    }
    return null;
}

, если вы более увереныиспользуя это, чем придерживаться этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...