Функции UnitRemoveAbility, UnitRemoveType, UnitAddAbility, UnitAddItem, UnitAddType почему-то returns boolean, хотя по логике вещей, это не проверочные функции, а назначающие - дают/убирают абилку, предмет или тип. Зачем этот boolean? Как его использовать? В каких случаях возвращается true, а в каких false?

ScorpioT1000, То есть возможно если юнит отсутствует или у него абилка/предмет/тип отсутствует, возвращается false?
Результат - функция выполнила действие или нет, и так очень у многих функций так, да и не только в Варкрафт 3 так. Почти весь API DirectX - это BOOL (uint32_t) значение, чтобы вернуть результат операции и т.д.
Надеюсь это ответило на твой вопрос? :)
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
38
В тех случаях, когда нельзя - не было или уже было, либо какие-то стейты типа паузы игры или отсутствия юнита (но это не точно)
23
ScorpioT1000, То есть возможно если юнит отсутствует или у него абилка/предмет/тип отсутствует, возвращается false?
8
Не всегда перечисленные операции выполняются успешно, и чтобы показать, что это так, они возвращают false.
На практике, это не очень нужно, но, тем не менее, может где-то быть использовано, например проверка добавилась ли способность очевидно может быть полезна.
20
ScorpioT1000, То есть возможно если юнит отсутствует или у него абилка/предмет/тип отсутствует, возвращается false?
Результат - функция выполнила действие или нет, и так очень у многих функций так, да и не только в Варкрафт 3 так. Почти весь API DirectX - это BOOL (uint32_t) значение, чтобы вернуть результат операции и т.д.
Надеюсь это ответило на твой вопрос? :)
Загруженные файлы
Принятый ответ
23
Да, теперь понятно. Спасибо goodlyhero и Unryze за ответы :)
15
По идее все эти функции должны начинаться с глагола Try, но когда Близзы писали Jass API, особо не заморачивались.
Ответы (1)
30
JackFastGame, отличный план, Волтер. Давай тогда не мелочиться, а все функции по работе с файлами, запросами и базами данных будем начинать с try. Логично же.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.