Добавлен N1ghtSiren
Прочёл мануал по vJass, возникло несколько вопросов:
Например, если 2+ библиотеки имеют одинаковые названия функций, будут ли они конфликтовать? (если сделать их приватными)
Будут ли функции типа ивент работать в них? (если приватные/если нет)
Например, если 2+ библиотеки имеют одинаковые названия функций, будут ли они конфликтовать? (если сделать их приватными)
Будут ли функции типа ивент работать в них? (если приватные/если нет)
раскрыть
function InitTrig_Skillz takes nothing returns nothing
set gg_trg_Skillz = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Skillz, EVENT_PLAYER_UNIT_SPELL_FINISH) //<--
call TriggerAddAction( gg_trg_Skillz, function Trig_Skills_Actions )
endfunction
хочу запихать спеллы каждого чара в либы и не делать 100500 гуишных триггеров, чтобы не путаться в них
и что значит static/constant/method/this?
и что значит static/constant/method/this?
Принятый ответ
Приватные функции различных библиотек не конфликтуют между собой, так как для таких функций компилятор устанавливает название НазваниеБиблиотеки__Название функции (после компиляции).
Ничто не мешает событию быть зарегистрированным (функция его регистрации для триггера работает ровно также, как и в любом другом месте кода).
static - общий объект для разных экземпляров структур (то есть, можно создать структуру Unit с публичными параметрами (то есть доступными для изменения извне, то есть не только структурными методами, а и функциями, не относящимися к ней, и статический счетчик кол-ва - целочисленную переменную, к которой каждая структура будет обращаться, чтобы увеличить или уменьшить счетчик при создании или удалении).
constant - переменная, которой присваивается значение лишь один раз без возможности его перезаписи.
method - функция внутри структуры, которая имеет право работать со структурными переменными (а если точнее - полями, если брать во внимание ООП), причем даже приватными, так как находится непосредственно внутри нее.
this - ссылка на структуру внутри метода (this.Mass = 80 - установит для данной структуры "массу" равной 80; это удобно, потому что так приходилось бы писать каждый раз myStruct.Mass = 80; myStruct.Height = 10, когда можно просто myStruct.SetParams (где уже обращение к ее переменным будет происходить через this)).
Ничто не мешает событию быть зарегистрированным (функция его регистрации для триггера работает ровно также, как и в любом другом месте кода).
static - общий объект для разных экземпляров структур (то есть, можно создать структуру Unit с публичными параметрами (то есть доступными для изменения извне, то есть не только структурными методами, а и функциями, не относящимися к ней, и статический счетчик кол-ва - целочисленную переменную, к которой каждая структура будет обращаться, чтобы увеличить или уменьшить счетчик при создании или удалении).
constant - переменная, которой присваивается значение лишь один раз без возможности его перезаписи.
method - функция внутри структуры, которая имеет право работать со структурными переменными (а если точнее - полями, если брать во внимание ООП), причем даже приватными, так как находится непосредственно внутри нее.
this - ссылка на структуру внутри метода (this.Mass = 80 - установит для данной структуры "массу" равной 80; это удобно, потому что так приходилось бы писать каждый раз myStruct.Mass = 80; myStruct.Height = 10, когда можно просто myStruct.SetParams (где уже обращение к ее переменным будет происходить через this)).
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ничто не мешает событию быть зарегистрированным (функция его регистрации для триггера работает ровно также, как и в любом другом месте кода).
static - общий объект для разных экземпляров структур (то есть, можно создать структуру Unit с публичными параметрами (то есть доступными для изменения извне, то есть не только структурными методами, а и функциями, не относящимися к ней, и статический счетчик кол-ва - целочисленную переменную, к которой каждая структура будет обращаться, чтобы увеличить или уменьшить счетчик при создании или удалении).
constant - переменная, которой присваивается значение лишь один раз без возможности его перезаписи.
method - функция внутри структуры, которая имеет право работать со структурными переменными (а если точнее - полями, если брать во внимание ООП), причем даже приватными, так как находится непосредственно внутри нее.
this - ссылка на структуру внутри метода (this.Mass = 80 - установит для данной структуры "массу" равной 80; это удобно, потому что так приходилось бы писать каждый раз myStruct.Mass = 80; myStruct.Height = 10, когда можно просто myStruct.SetParams (где уже обращение к ее переменным будет происходить через this)).
Отредактирован N1ghtSiren
плохой пример :c
call KillUnit( this.u )
endmethod
call KillUnit( u[ this ] )
endfunction