Перейти к контенту

Рефакторинг: _g.script


Рекомендуемые сообщения

(изменено)
Но в том и дело, что оригинал - не сохраняется. Его уборщик убирает. Теоретически. Тут бы надо кому-то в исходники глянуть.

Я так понимаю, копия нужна для защиты оригинала от изменения.

После вызова obj:command( act, false) действие добавляется в очередь. А вот какие странности будут, если попытаться изменить его после добавление в очередь

local new_act = action_first(obj, что-то_там)
new_act:set_action(что-то_ещё)

- можно только догадываться.

 

И кстати переменную act лучше переименовать, т.к. есть одноимённый экспортированный класс.

Изменено пользователем Полтергейст

Поделиться этим сообщением


Ссылка на сообщение
(изменено)

Мой вариант (одна функция, работающая и в online, и в offline).

function has_alife_info(info_id)
       if not (sim and info_id and info_id:len() > 0) then
             -- ругаемся в лог
       end
       if actor then -- online
             return actor:has_info(info_id)
       end
       -- offline
       return sim:has_info(0, info_id)
end

Для избавления от лишних проверок сделать немного по-другому - написать 2 разные функции для online и offline проверке, и в биндере игрока написать что-то такое

_G.has_alife_info = has_info_online -- пишем в net_spawn
_G.has_alife_info = has_info_offline -- в net_destroy
Изменено пользователем Полтергейст
  • Нравится 1

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.

AMK-Team.ru

×
×
  • Создать...